Add support for optional daterange optimization

This pull request adds optional support for detecting "during" clauses that can be refactored from a "where" into the daterange component of a `ClinicalRequest`.  This optimization is turned off by default, but can be enabled via the visitor's `enableDateRangeOptimization` method.  See new unit tests for examples.