ISPN-2629 Dist Exec testsuite fails in case of TopologyAware nodes
Remove unused imports.
Cleanup

* Generify MultipleCacheManagersTest.advancedCache(..)
* Remove superfluous "enabled = true" attribute from @Test annotations
* Remove unused local variables in StateTransferManagerImpl.forwardCommandIfNeeded(..)
ISPN-2366 Allow getCache() to return before the node receives any state

Add configuration option for StateTransferManagerImpl.waitForInitialStateTransferToComplete; default is 'true' to maintain pre-existing behaviour.
ISPN-2362 Remove-inconsistency during NBST

* Add BaseDistStateTransferConsistencyTest and BaseReplStateTransferConsistencyTest (with subclasses for optimistic and pessimistic locking) to test ISPN-2362 and ISPN-2502
* Add a new flag, Flag.PUT_FOR_STATE_TRANSFER to be use on put commands done by state transfer
* LocalQueryInterceptor does not index modifications done by state transfer
* Add a isFromStateTransfer flag to LocalTransaction that is set to true only for transactions done by state transfer
* BaseRpcInterceptor and BaseBackupInterceptor do not send the command remotely if the transaction is flagged as created by state transfer
* Add support in StateConsumer to keep track of keys updated by user code during state transfer: isKeyUpdated/addUpdatedKey/stopRecordingUpdatedKeys. Recording starts when rebalance begins and will end when rebalance ends or when a ClearCommand is executed.
* The put command generated by state transfer in StateConsumerImpl is now transactional if the cache is transactional. We no longer use SKIP_LOCKING. This fixes ISPN-2502.
* EntryWrappingInterceptor.commitEntryIfNeeded() notifies StateConsumerImpl of any user-updated keys. It also checks if the update is caused by state transfer and the key was previously updated by the user and does not allow the update if so. This ensures no user generated modifications are overwritten or undone by state transfer.
* If the update is caused by state transfer, VersionedEntryWrappingInterceptor does not perform a write skew check and does not increment the version before executing prepare and commits the entry into DataContainer using the supplied version as is. We need to bypass incrementation in order to ensure the version is identical to the one on source node of the state transfer. Not doing so will cause subsequent user generated updates to fail due to write skew. Bypassing write skew checks in state transfer does not impact consistency because the state transfer PUT has lower priority than normal user-generated updates and is always rolled back if a user modification is committed before the state transfer PUT attempts to commit.
* ReplaceCommand.toString() should also contain the key.
ISPN-2616 Fix write skew check in distributed mode in cases when the value is not yet locally available because state transfer is not yet completed for the key
ISPN-2646 Fix SimpleClusteredVersionGenerator to use the topology Id instead of the view id. This change is required after introducing NBST.
ISPN-2643 HotRod client should send writes to the primary owner to reduce RPCs on the server
ISPN-2366 Add declarative configuration for parsing new state transfer related config flag "waitForInitialStateTransferToComplete"
ISPN-2643 Update the mock transport in the Spring module
ISPN-2521 Prevent test timing issues from affecting result of JdbcBinaryCacheStoreTest.testPurgeExpiredAllCodepaths()
ISPN-2652 - Create tests covering Dist. Exec. Execution Policy. As well as additional tests are added for verifying Dist. Exec on REPL_SYNC cache for Topology Aware nodes.
ISPN-2650 Some Map Reduce tests are failing for Topology Aware nodes
ISPN-2352 Make a safe, deep copy of the Sort when iterating

This avoids sort fields being reversed when multiple iterators
created from a single cache query.
ISPN-2667 - Write tests for Query module
* Tests are added for KeyTransformationHandler covering different types of keys, as non-serializable or exception throwing ones.
* Tests are added testing Eager and Lazy Iterators with different FetchModes as well as testing exceptional cases.
* Tests are added for Local and Clustered caches covering many exceptional, NULL cases, as well as covering FullTextFilter on/off modes.
* Tests are added for LegacyConfigurationAdaptor refering to Query related configuration.
* Tests are added covering Query execution on Clustered cache configured with Pessimistic locking.
ISPN-2524: Implement a method for wrapping keys/values appropriately for the container
ISPN-2668: Remove the putifabsent command in favour of an --ifabsent option to the put command
ISPN-2481: CLI site commands for Cross-Site Management operations