ISPN-3354 Multiple events on the local node with Infinispan 5.3.0-final

Also, I fixed a bug taht could cause inconsistent data in replicated
mode and added tests for that.
ISPN-3722 State transfer must be enabled for Lucene Directory if clustered caches are used
Fixed typo: hasSharedCacheLoadOrWriter -> hasSharedCacheLoaderOrWriter
ISPN-3606 FileCacheStoreConfig JavaDoc incorrectly states that 'fetchPersistentState' is only supported in 'replication' and 'invalidation' mode.
ISPN-3737 L1 requestor registered after value read

* Fixed issue with RR that L1 cached wrong value with concurrent write
* Added tests for issue as well as RR test cases
JBQA-8629 Add test for tasks.GlobalKeySetTask
ISPN-3721 Extend remote get test scenarios to test the joiner state

* Moved AbstractControlledLocalTopologyManager to main to delegate the
start and stop methods
ISPN-3335 JMX statistics for Queries do not work after adding new classes to SearchFactory

In Infinispan we use SearchFactory reconfiguration when adding new classes. This process actually builds a new SearchFactory behind the scenes which should preserve all state and config of the old one, plus the new added classes.
Unfortunatelly this does not work correctly due to HSEARCH-1461. The statistics are lost on each reconfiguration. Also the the status of Statistics.isStatisticsEnabled is lost.

This is worked around by constructing a new MBean statistics implementtion, with identical interface. The new implementation accumulates its own statistics counters and gathers current data from the current Statistics object of the SearchFactory.
ISPN-3537 Custom interceptor with Position.LAST set programmatically doesn't work
ISPN-3537 Custom interceptor with Position.LAST set programmatically doesn't work