DATACMNS-293 - Basic infrastructure for query augmentation.

Added SPI to support generic query augmentation. Implementors implement a QueryAugmentor that can opt into augmentation and will get called for query executions and updates to potentially massage the query to be executed, manipulate or even replace the execution of updates.

We expose a QueryAugmentationEngineAware injection interface for repository base class implementations to expose they want to take part in the query augmentation.

TODO:
- Add BeanPostProcessor to inject QueryAugmentationEngines into QueryAugmentationEngineAware classes
- Automatically pick up QueryAugmentor instances from the application context
- Ordering of QueryAugmentors
- More tests