Advances in Structural Health Monitoring: From Sensor Networks and Machine Learning to Predictive Maintenance in Civil Engineering