Internet of Things for Water Quality Monitoring and Assessment: A Comprehensive Review