Uranus and Neptune could have diamond rains