ISPN-3330 Add validation for Hot Rod cache configuration

* Added validation for isolation level and key/value equivalence.
ISPN-3478 Polish CS API revamp

* use consistent naming
ISPN-3478 Polish CS API revamp

* aligned ClusterLoader and CLusterLoaderConfiguration names (both are loaders)
ISPN-3478 Polish CS API revamp

* add a connection pool to handle parallel entry processing
* add tests to verify parallel entry processing for the existing stores
ISPN-3478 Polish CS API revamp

* use the name "Store" vs CacheStore consistently
ISPN-3478 Polish CS API revamp

* use an interface for ByteBuffer so that store implementors won't need to depend on implementation
ISPN-3478 Polish CS API revamp

* use an interface for MarshalledEntry so that store implementors won't need to depend on the implementation
ISPN-3478 Polish CS API revamp

* MarshalledEntryImpl is a parametriezed type now
ISPN-3478 Polish CS API revamp

*  inline persistence parent pom with the directory name
ISPN-3478 Polish CS API revamp

*  removed unused class DataManipulationHelper
ISPN-3478 Polish CS API revamp

* updated after review
Remove validation of key and value equivalence in HotRodServer

Requiring key and value equivalence to be able to compare byte arrays is too restrictive in the specific case of remote query, where the values are some wrappers instead of being byte arrays, or the metadata caches used by query or the caches used by infnispan lucene directory.
ISPN-3505 Make infinispan-remote-query-client optional for Hot Rod client

* Remove initialisation of marshallers for query-client related classes from RemoteCacheManager
* Remove all references to query-client classes from RemoteCacheImpl
* Also mark infinispan-remote-query-server as optional for HotRod server
* Make some remote-query classes final or non-instantiable to prevent misuse
ISPN-3502 GridFile.isChildOf(...) incorrectly compares file paths.
ISPN-3499 Resource leak in HotRod Server when unable to start
ISPN-3501 Upgrade JGroups to 3.4.0.Alpha3
ISPN-3490 Extend compatatibility mode tests

* map/reduce
* library mode queries (old and new API)
* basic transactions
ISPN-1540 Refactor distribution interceptor

* Create new TxL1Interceptor that contains L1 logic that is now removed from TxDistributionInterceptor
* Added L1WriteSynchronizer support to Tx cache that works for put, remove and replace methods
* Added tests for L1 TX sync tests
* Kept GetKeyValueCommand.setRemotelyFetchedValue until ISPN-2177 can be completed
ISPN-3500 Conditional operation can generate inconsistencies in transactional mode
Generify base DIST functional test to allow different key/value types