Blue energy: electricity production from salinity gradients by reverse electrodialysis