REPORT-685 - Expand CompositionCohortDefinitions to other types of Queries.  Refactored the CompositionCohortDefinition and CohortExpressionParser to create a new abstract base class for any CompositionQuery and CompositionQueryEvaluator, re-implemented the CompositionCohortDefinition/Evaluator using this mechanism, and added a CompositionEncounterQuery/Evaluator.  Also added some unit tests for both, which were not previously present.