dPRO: A Generic Performance Diagnosis and Optimization Toolkit for Expediting Distributed DNN Training