Creating a new EvaluationService and associated HqlBuilder class, and add in the capability that when used together, large "in" queries are now done via temporary insertion and joining in a new reporting_idset table, in order to improve performance and memory utilization
Add HibernateQueryBuilder
Start changing the existing evaluators to use the Hql and Criteria Query Builder implementations
Add an initial pass at a SqlQueryBuilder
Modify ObsDataEvaluators to use new QueryBuilders
Modify PatientDataEvaluators to use new QueryBuilders
Modify PersonDataEvaluators to use new QueryBuilders
Fix configuration property caching strategy to use uuids and to prevent lazy initialization exceptions for OpenmrsData objects
Optimize use of caching for Data Set Data Definitions, and disable the use of batch processing of patient data by default, which is slower now that we have IdsetMember joining at the database level in many cases.
Add update global property method
Add missing aliases to order by clauses
Add a bit more logging to the Encounter and Patient Data Set evaluators
Change joining against idsetmember table to use a cross join with where clause (which results in an inner join) rather than as an in clause.  Mysql 5.5 does not perform sufficiently well with the in clause, and most implementations still use that.
Remove CriteriaQueryBuilder for now and stick with HqlQueryBuilder, which has established itself as the go-to
Fix invalid javadoc
Performance fix for encounter data set definitions where both base cohort and base idset are entered.
Fix to persistCachedReports method to ensure something is in the cache before trying to delete.
Add some comments to join strategy
Prevent a NPE in a logging statement
Fix the encounter query evaluators to use the hql query builder