Removal of chromium from wastewater by membrane filtration, chemical precipitation, ion exchange, adsorption electrocoagulation, electrochemical reduction, electrodialysis, electrodeionization, photocatalysis and nanotechnology: a review