Organic-inorganic halide perovskite photovoltaics : from fundamentals to device architectures