refactoring, cleanup

* cleanup cache key generation flow for SelectQuery
* do not generate cache key for null cache strategy
unit test cleanup
ensuring non-null cache strategy
CAY-1959 Chainable API for SelectQuery