A holistic and state-of-the-art review of nanotechnology in solar cells