Learning Cautiously in Federated Learning with Noisy and Heterogeneous Clients