Fabrication of a novel p–n heterojunction photocatalyst n-BiVO4@p-MoS2 with core–shell structure and its excellent visible-light photocatalytic reduction and oxidation activities