Pet Clinic using Spring 4, Spring Data JPA, and JPS heavily refactored and documented