Reverse type I core - CuI /shell - CuO : a versatile heterostructure for photoelectrochemical applications