why is water a good solvent for ionic compounds