ISPN-3148 BackupReceiver survives cache shutdown for implicit backups
Remove unused imports
Consistent hash package cleanup
ISPN-2772 Implement REPLICATED mode as a degenerated DISTRIBUTED mode (nowOwners>=clusterSize)

* Implement new ReplicatedConsistentHash and factory
* BaseReplicatedAPITest was asserting wrong behaviour, specific to old REPL mode. The new REPL mode clears putIfAbsent flag on commands sent to remote owners if the command executed successfully on originator. This forces them to apply the update unconditionally.
* Remove unused REPL mode interceptors.
* Fix the total order tests.
ISPN-2772 Convert some tests to new config API and use only one segment by default in REPL mode

The config for REPL tests is ammended to set CH numSegments to 1. This is needed to make the existing REPL tests work with the new implementation. Conversion to new config API is mandatory for these tests because in the old API we cannot override numSegments.
ISPN-2772 Remove SEQUENCER JGroups protocol as it is no longer used by TO

Also remove the garbage character from last line of core/src/test/resources/stacks/tcp_mping/tcp1.xml
ISPN-3133 AsyncAPINonTxSyncDistTest and AsyncAPINonTxAsyncDistTest are mistakenly executed in REPL mode

* In non-tx mode the primary owner will skip the replication of unsuccessfull conditional commands
* In non-tx mode the originator will always wait for the primary owner's return value regardless if command is async if reliable return values are required
* Fix AsyncAPINonTxSyncReplTest by allowing the key to serialize if the operation required forwarding (originator not primary owner)
ISPN-3133 Convert some tests to use spies instead of mocks to avoid some very brittle code that was broken by fixing ISPN-3133
Make MagicKey completely immutable
ISPN-3156 Add tests for interoperability mode - reading via REST
ISPN-1990 Preload working with write skew caches

* Preload can now read the metadata from the cache store and put it
in the cache.
* Adjust versioning interceptor logic to apply version information
only when needed.
ISPN-3100 CommandAwareRpcDispatcher Future Collactor does not respect the timeout
ISPN-3152 Clear the list of stores in LoadersConfigurationBuilder when
read()ing an existing configuration
ISPN-3147 Upgrade the JTA component to the one included in Narayana 4.17.4.Final
ISPN-3058 Warn about errors while migrating keys
ISPN-3146 PrepareCommand triggers RollbackCommand in TxInterceptor if the commit arrives at the same time

Total Order only! When the CommitCommand arrives, it marks the transaction as completed.
In TxInterceptor, if the transaction is completed, a RollbackCommand is triggered.
Total Order already handles this case and the RollbackCommand will create inconsistencies.
ISPN-3097 Improve total order test suite

* the tests extend a common base test implementation.
* added more tests varying the configuration.
* before check consistency, it waits until the transaction is committed in all the nodes involved.
ISPN-3168 Use createClusteredCacheManager instead of createCacheManager for clustered caches
ISPN-2786 Add test to verify marshalling thread local leaks

* Created a test that can detect thread local leaks with different
configurations.
* Thread locals can only be removed if the cache or cache manager
references are nulled, even after shutdown.
* At shutdown, Infinispan can only remove thread locals created
for the thread that's shutting down Infinispan, which is not really
useful.
* Thanks Dan for enhancing the thread local leak test.