Quantum Dot Sensitized Solar Cell: Photoanodes, Counter Electrodes, and Electrolytes