ISPN-2553 Avoid cache marshaller being used before being started

* This is done by checking that the cache component registry is in
RUNNING state, at which point the cache marshaller must be started.
ISPN-2409 DefaultExecutorService failoverExecution does not rethrow
the root cause of the failure
ISPN-2409 Check the exact type of exception thrown
ISPN-2008 If preconditions pass, update cache only previous value same
ISPN-2242 Added @ManagedOperation and @Operation to clear() method.
ISPN-2552 Support concurrent updates for non-transactional caches
- refactored the distribution interceptor into NonTxDistributionInterceptor, L1NonTxInterceptor, TxDistributionInterceptor, L1NonTxInterceptor and BaseDistributionInterceptor
- added support for concurrent writes for non-transactional distributed caches: NonTxConcurrentDistributionInterceptor
- updated the xml parser in order to support concurrent writes for distributed caches configuration
ISPN-2631 Declare the getCacheEntry() method on the AdvancedCache interface to allow the use of delegating caches (used by JDG)
ISPN-2552 Reduce the test execution time and log size
ISPN-2621 Introduce an entry wrapping mechanism for RemoteCacheStore
ISPN-2606 Implement UpgradeSynchronizer as MBean
ISPN-2597 Make build work within 64 bit envs with limited resources

* Disable Cassandra and HBase modules whose testsuites consume
far too many resources. They should be able to work within same
JVM as the build to keep resource consumption reasonable.
* Scala compiler memory has been increased and in 64 bit
environments it uses compressed OOPs.
* Switch lucene demo testsuite so that it never forks.
* Definte transport protocol at root properties, otherwise when
using plattform specific build options (32 bit vs 64 bit), the
property is resolved too late and results in test failures.
ISPN-2597 HBase cache store working in paralell testsuite

* Use HBase test utilities to create a cluster designed to run on
unit tests with minimal resources.
* Get rid of embedded server helper class.
* Use thread locals to create master nodes in different ports
* HBase mbean instance already exist WARN message still thrown, but
this is a bug in HBase's code which is not naming MBeans correctly.
It doesn't affect testsuite completion though.
ISPN-2597 Cassandra store does not require specific surefire settings
 ISPN-2626 - XSite test suite doesn't work
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