Fault Diagnosis and Fault-Tolerant Control of Unmanned Aerial Vehicles