BiVO4 photocatalysis design and applications to oxygen production and degradation of organic compounds: a review