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.