Adaptive Fault-tolerant Control of Underwater Vehicles with Thruster Failures