Membrane-based technologies for the production of high-quality water from contaminated sources: from lab experiments to full-scale system design