Communication for Underwater Sensor Networks: A Comprehensive Summary