ISPN-2897 NPE in DefaultConsistentHash

If any partition is rebalancing during a merge, the merge coordinator
should end the rebalance it and start a new one with all the members.
Enabling tests that were disabled due to ISPN-2106 (no longer relevant on 5.2 and tests seem to work)
ISPN-2777 ReplicatedConsistentHash.isKeyLocalToNode(node, key) should 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.
ISPN-2757 ReplaceCommand in REPL mode cluster does not perform any modifications 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
Introduce a common base class for replication and distribution interceptors for code reuse

Move some methods from DistributionManager to BaseDistributionInterceptor.
ISPN-2619 Avoid empty checks in test using method specific keys
ISPN-2847 Puts done by state transfer can fail with TimeoutException if lock cannot be acquired

A state transfer transaction should not wait for the backup locks of other transactions