ISPN-3670 Any commands received before the initial topology is installed should block

Make StateProviderImpl block when it receives a StateRequestCommand before
it installed the initial topology.
Also, when a rebalance request is received before the join response, we should block it
until the joiner thread applies the initial topology (relevant only with awaitInitialTransfer
disabled).
ISPN-3448 Tests from org.infinispan.distribution.rehash package fail randomly

* NonTxStateTransferOverwritingValue2Test should block rebalance
  confirmations to avoid the retry of the user's put command.
* NonTxJoinerBecomingBackupOwnerTest should wait until the old owners
  collect the entries to send to the backup before doing the write,
  to avoid duplicate put commands on the joiner.
ISPN-3768 Upgrade to Apache Lucene v. 4.6.0
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-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