ISPN-3310 Move the BasiCache/BasicCacheContainer APIs to Commons and use interface compositing to delimit specific APIs
Realign the HotRod client to these new interfaces
ISPN-2840 Conditional operations don't work concurrently for transactional caches with write skew check enabled

* Each transaction keeps a map between key and version that is populated on the first access.
This maps contains the version seen by the transaction and it is attached to the prepare
to perform the write skew check in the remote nodes.

* Added test cases to check if the write skew check is working correctly with IGNORE_RETURN_VALUE
flag.

* Removed the previousRead boolean from the write operation.
ISPN-3235 and ISPN-3236 Repeatable Read isolation fixes and improvements

* ISPN-3235 Repeatable Read: should skip remote get if the key was previously read

* ISPN-3236 Repeatable Read: Transactions are not isolated when read non-existing keys

Same fix solves both issues.
ISPN-2806 Karsten's Faster FileCacheStore implementation

* This CacheStore implementation stores cache values in a single file,
and keeps keys and file positions in memory. Max memory consumption
can be controlled via a maxEntries parameter.
* Always keep on-disk state up to date: Write changes to disk
immediately, including the cache keys. On startup, the state of the
cache store can be restored by scanning the entire file.
* Clean shutdown (storing the in-memory index on stop()) is no longer
required for persistence.

Signed-off-by: Karsten Blees <blees@dcon.de>
ISPN-2806 Rename Karsten's file cache store and add configuration

* Renamed the cache store to a more meaningful name.
* Added new style configuration and configuration builder classes.
* Modified parser to deal with new single file cache store.
* Added tests that verify single file cache store configuration.
ISPN-2608 VersionedDistStateTransferTest intermittent failure

Wait for state transfer to end before checking the results
ISPN-2515 VersionedReplStateTransferTest.testStateTransfer fails randomly

Wait for state transfer to end before checking the results
ISPN-2771 WriteSkewTest.testWriteSkewWithOnlyPut fails randomly

The test in question is performing the write skew check before the key is locked.
ISPN-2950 In distributed mode cache store data should be read through the main data owner (vs directly from the store)

* Changed ClusteredCacheLoader to only read from primary owner
* Added tests to verify non owner doesn't read from cache store
* Also fixed up cache statistics so skips aren't counted as misses
* Added some tests for invalidation with loader/store
ISPN-2861 Integrate the CloudTM extended statistics in Infinispan
ISPN-3109 Integration of protostream library (protobuf serialisation protocol) with hot-rod marshaller

Put and get an object from a remote cache over hotrod using protobuf as a serialization protocol for all user payload.
ISPN-3197 Message ordering of Get and Invalidation can cause L1 to be inconsistent.

* Implemented single entry point for concurrent gets.
* Also support concurrent invalidation for reads with limited blocking
* Added tests for various concurrency/edge issues