ISPN-2439 Deadlock in Map/Reduce tasks

* Make sure the cluster is started before using the intermediate cache
ISPN-2300 Revert changed flag for entries where conditional ops failed

* Changed cache entry flagged was overloaded to mean that both that a
new entry had to be stored in the cache, and that a entry loaded from
the cache store had to be stored in the cache.
* Changed now represents a change, so a cache entry whose value in
memory is going to change as a direct result of the cache operation,
i.e. when the conditional operation succeeds.
* Loaded means that a entry was loaded from the cache store and needs
to be stored in the cache, i.e. when a conditional operation requires
comparing the old value which is present in the cache store, and if
the condition fails, the value in the cache store still needs updating
in the cache.
ISPN-1583 Avoid delegate advanced caches wrapped parameters

* Such parameters are flags or classloaders.
* By adding an interface that generates wrap objects, abstract
delegate implementations can pass on caches with flags or cache
loaders while keeping these wrapped.
* This avoid the problem of unwrapping a wrapper while keeping
hold of the given flag/classloaders.
ISPN-2725 Upgrade to JGroups 3.2.6.Final
ISPN-2632 Added asymmetric cluster tests for Hot Rod server/clients

* Indirectly fixed the replication queue configuration issue that
was noticed as part of ISPN-2335.
ISPN-2656 Support RemoteCache.keySet().  BulkGetKeysBulkGetKeys operation in HotRod.
ISPN-2405 Pessimistic transactions can leak locks when cluster topology changes

* In PessimisticLockingInterceptor.visitLockControlCommand there is an optimization to avoid remote calls if the key is local. Unfortunatelly this had the unintended side effect of not adding the locked key to TX.afectedKeys collection if the key was local which resulted in the key not being unlocked on TX end.

* BaseRpcInterceptor.shouldInvokeRemoteTxCommand() and AbstractEnlistmentAdapter.mayHaveRemoteLocks will return true if the TX was started in an older topology than current, regardless if modifications or remote locks are present. This ensures the TX command reaches all locked key owners not just the ones registered in TX.getRemoteLocksAcquired() which can become out of date after rehashing.

* RpcManagerImpl.getTopologyId() should return -1 instead of throwing NPE if the cache has not joined yet (ie. during preloading)

* Add unit test for the pessimistic locking case.

* Minor cleanup in the existing UT for optimistic locking.
ISPN-2366 Rename state transfer config option 'waitForInitialStateTransferToComplete' to 'awaitInitialTransfer'

* The previous name was not choosen well.

* Revised javadoc and XSD documentation for this config option to higlight the consequences of turning it off.
ISPN-2578 Two PrepareCommands in parallel cause ConcurrentModificationException
ISPN-2728 AbstractCacheTransaction.hasLockOrIsLockBackup may cause NPE
- temporary fix