Cherry-picked a1990c14b93d7ea5e99ef3d77e2445f15cb5be2f which contains the following change:
  implemented person search by searchable attributes

Cherry-picked b7d00c6ca5671f9fe2dcdf90a670c98e67c666b3 which contains the following changes:
  Added automated tests for org.openmrs.api.db.hibernate.HibernatePatientDAO and org.openmrs.api.db.hibernate.PatientSearchCriteria
  Refactored org.openmrs.api.db.hibernate.PatientSearchCriteria
  Added and implemented org.openmrs.api.db.PatientDAO#getPatients(String,Integer,Integer)
  Added and implemented org.openmrs.api.db.PatientDAO#getCountOfPatients(String)
  Marked org.openmrs.api.db.PatientDAO#getPatients(String,String,List,boolean,Integer,Integer) as deprecated
  Marked org.openmrs.api.db.PatientDAO#getCountOfPatients(String,String,List,boolean,boolean) as deprecated
  Moved tests from org.openmrs.api.db.hibernate.HibernatePatientDAOTest to org.openmrs.api.db.PatientDAOTest