Text this: Applications of IoT and Artificial Intelligence in Water Quality Monitoring and Prediction: A Review