Machine learning on sustainable energy: A review and outlook on renewable energy systems, catalysis, smart grid and energy storage