Nanomaterials for Energy Harvesting and Storage