Chalcopyrite Thin Film Solar Cells