TRUNK-4208 Gender and Birth date should not be required for persons linked to providers or users but to patients

As a part of this ticket, I have moved the gender/birthdate validation checks from PersonValidator to PatientValidator. I had to change the test data xml to also include birthdate for patients.

Summary:
- Moved the checks for gender from PersonValidator and put it in PatientValidator instead.
- Updated PatientValidator to check for the presence of birthdate.
- Updated tests which create Patients to set a birthdate.
- Updated the xml which is used to create test data for patients to include birthdate.
- Some refactoring in the validator to extract functionality into methods to make code cleaner.