ISPN-2956 Hot Rod conditional operations and transactional caches

* Transactional caches are required in order to be able to guarantee
correct retry logic for Hot Rod operations relying on conditional
operations, or operations where the previous value is returned.
* WARN messages have been added for when conditional or operations
needing previous value are executed against non-transactional caches.
* Documentation updated with a section on Java Hot Rod client failover
capabilities and its effects on conditional operations.
ISPN-4414 Compatible failover request load balancer for HR clients
ISPN-4291 Poor REPL state transfer performance with cache stores

* Skip the cache store iteration if the local node didn't lose any segments
* Move the invalidation after receiving the transaction data, so that write
  commands can be performed in parallel.
ISPN-4424 Synchronize updating cache entry and making a copy
ISPN-4424 Synchronize updating cache entry and making a copy
- making the CacheEntry immutable is not enough, the whole CacheEntry hierarchy needs to be made immutable
- using clone is simpler that making the hierarchy immutable
ISPN-4437 L1 cache is enabled by default in server
ISPN-4387 Write Skew Check does not work with Passivation

* Some refactor on ManualEvictionWithSizeBasedAndConcurrentOperationsInPrimaryOwnerTest
ISPN-4431 Make the CLI codecs add an EntryVersion to the metadata
- Also increase the CLI timeout
ISPN-4400 Takes a long time to start up all clusters which has a lot of segments

This is mainly caused by the myriad of internal copies performed by the CopyOnWriteArraySet used in InboundTransferTask for tracking the segments being requested during ST. This collection is updated way too frequently if we have a large number of segments. It seems that using a simple HashMap and doing external synchronization works better both in terms of time and memory.
ISPN-3959 JdbcBinaryStore's expiration locks buckets indefinitely
Added call for PurgeListener to LevelDBStore
ISPN-4401 OSGi - PAX-URL needs to work when the local mvn repo is passed from a configuration file
ISPN-3530 ISPN-1855 Keep per-cache CH to route requests correctly

* It fixes an issue where accessing non-distributed caches can
break topology updates.
* Add asymmetric routing test that forces each server to hash
only to itself to replicate situations where different distributed
caches have different CH.
ISPN-3840 Test suite should continue when a test hasn't closed its cache managers

Add fail-all-tests and fail-all-tests-setup profile to fail all the tests
and @Before methods and check that their cache managers are closed properly.
ISPN-4449 Updating poms: remove references to infinispan-lucene-v4 and lucene.v3
ISPN-4449 Merge updates from lucene-directory-v4 into lucene-directory-v3
ISPN-4449 Remove module lucene-v4
ISPN-4449 No longer need a LuceneVersionDetector and Reflection to use the appropriate implementations
ISPN-4449 Remove no longer needed tests
ISPN-4449 Get lucene-v3 module temporarily to pass tests after moving to Lucene 4 API