Move code that sets Person auditable fields to AuditableInterceptor

Address this ticket: https://tickets.openmrs.org/browse/TRUNK-3964

In order to do this, I had to add a specific case for instances of a Person, as the field names differed from other openMRS objects. There is a new check to see if the object being saved is an instance of Person, and if so, is passed to a method that checks to see if personCreator and personDateCreated are null.