Cooperative Control and Fault Recovery for Network of Heterogeneous Autonomous Underwater Vehicles