…difications if the entry was not yet transfered during rehashing
* ReplicationInterceptor needs to be smart an if the command is conditional but the affected value is not yet available locally because state transfer did not have the chance to fetch it yet then we should fetch it now.
* The whole logic where the coordinator is the main lock owner has to be replaced to use the first topology member rather than the coordinator (the coordinator might not even run the cache in question)
* ClusteringDependentLogic needs to be split in separate implementations for each cache mode

… return false if the node is not a member yet
* Also added some sanity checks to detect illegal usage.
* Fix incomplete transport mocking in PutForExternalReadTest.testExceptionSuppression and resolve some generics related compiler warnings.

…oking an RPC
If the REBALANCE_START command takes a long time to be processed on
one of the nodes, the REBALANCE_CONFIRM commands from the rest of
the nodes are blocked and end up filling the OOB thread pool.
Add two new tests for large clusters.
Move CacheCreationStressTest to the profiling group.

* Add MergeDuringReplaceTest to reproduce the issue.
* Fix one of the ControlledRpcManager.invokeRemotely methods that was ignoring the actual result and was always returning null.
* Minor logging improvements to be able to debug this issue.
* Remove harmfull optimization from RpcManagerImpl.invokeRemotely(Collection<Address> recipients, ReplicableCommand rpcCommand, ResponseMode mode, long timeout, boolean usePriorityQueue, ResponseFilter responseFilter) that was not going remotely and neither threw any exception if the destinations were no longer in cluster and current node was the only member.

…s the test suite (randomly)
* DefaultCacheManager.wireAndStartCache didn't open the cache latch if
it failed to inject all dependencies, blocking all other threads.
* ComponentRegistry.getOrCreateComponent was not atomic if the component
was cache-scoped and the factory was global-scoped.

* Refactor OperationsDuringStateTransferTest into sublasses to test with and without TX; also add tests for put and remove operations
* NonTxDistributionInterceptor fetches remotely the value before executing a write command if the transfer of the key is in progress and the key is not available in the local data container. If the remote fetch returns null a local lookup is reattempted.

* Remove unnecessary members in NonTransactionalLockingInterceptor
* Make some members private in TxDistributionInterceptor
* Fix typos in ConditionalOperationsConcurrentTest and make some members final
* Remove unused methods from BaseDistFunctionalTest and move method BaseDistFunctionalTest.createNewConsistentHash to ConsistentHashPerfTest where it is used

…xception -> JBAS018079: Failed to passivate session
CacheImpl.evict() during a batch leads to NPE in AbstractTxInvocationContext.clearLockedKeys because no transaction is actually started. This is caused by BatchingInterceptor replacing the non-transactional context of the evict command with a new transactional context for no reason - evict() is never transactional.

…o not detect properly if the key needs to be fetched remotely
Fixes TxDistributionInterceptor by doing an extra local lookup if the value returned by method remoteGetAndStoreInL1() is null.
If there was a state transfer in progress at the time TxDistributionInterceptor tried to determine if it needs to go remotely or not the decision might be invalid now and the value might be available locally.
The non-tx case is differrently implemented and is not fixed. Added OperationsDuringStateTransferTest to highlight the issue.