ISPN-3433 Versioned L1 values don't expire

* Added tests that ensure L1 values on write an read operations are marked as being able to be expire
* Change ClusterDependentLogic class to apply the L1 lifespan when custom metadata is provided
ISPN-3389:  Account for the new lock owner for any local transactions to prevent the tx from being stale in the new owner's tx table.
ISPN-3389 Account for the new lock owner for any local transactions to prevent the tx from being stale in the new owner's tx table

* Unit test reproducing the problem
* Fix the topology check in StateProviderImpl.collectTransactionsToTransfer
* Mark the transactions received via state transfer as remote
* Other cosmetic changes in StateProviderImpl.collectTransactionsToTransfer
ISPN-3439 EHCache2InfinispanTransformerTest is failing randomly
ISPN-3459 Add support for Cache-Control http header to REST server
ISPN-3200 Allow KeyFilters to be applied to listeners and ISPN-3201 Allow listeners to be invoked only by a primary data owner

Combined into a single commit since both commits affect the same code in AbstractListenerImpl
Extract the reusable part of TypeConverterInterceptor into a base class so it can be used by remote-query module
Refactor MultiHotRodServersTest to allow subclasses to modify the configuration of the HotRod client
ISPN-3175 Upgrade the java hotrod client to support remote querying

* Add remote-query module and QueryFacade implementation
* Remove the checked exception declared by QueryFacade.query method
* KeyTransformationHandler should provide default support for byte[]