Distributed Adaptive Fault-tolerant Control for Heterogeneous Nonlinear Multi-agent Systems with Actuator Faults