Semiconductor Colloidal Quantum Dots For Photovoltaic Applications