Golf Doctor: Diagnosis, Explanation and Correction of Golfing Faults