ISPN-3873 Race condition in AbstractInvocationContextFactory

Results in NullPointerException in EquivalentHashMap when receiving an
invalidate command during startup.

* Initialize the key Equivalence in AbstractInvocationContextFactory in the
  init() method (instead of start()).
* StateTransferLock.waitForTransactionData() should never return before the
  initial topology was installed.
* RpcManagerImpl must set the topology id for non-tx TopologyAffectedCommands
  that are wrapped in SingleRpcCommands.
* Invalidation commands should have their topology id set in
  StateTransferInterceptor.
ISPN-3933 Preloading on a JDBCCachestore can not be enabled via configuration files
ISPN-3934 Upgrade to Hibernate Search 4.5.0.CR1 and HQL-Parser 1.0.0.Alpha6
ISPN-3934 Adapt tests to stricter configuration validations
ISPN-2895 org.infinispan.lucene.InfinispanDirectoryIOTest.testReadWholeFile fails randomly
ISPN-3902 Upgrade to Apache Lucene 4.6.1
ISPN-3943 Fix L1WriteSynchronizerTest failures

* Increased timeout to make sure test doesn't fail incorrectly
ISPN-3944 DistSyncL1RepeatableReadFuncTest.testNoEntryInL1GetWithConcurrentReplace
random failures

* Changed L1LastChanceInterceptor invalidation to be sync
* This will be consistent now for tx and nontx caches
ISPN-3932 FineGrainedAtomicMap with REPEATABLE_READ sees modifications from other transactions

* Rebased atomic tests to cover both FineGrainedAtomicMap and AtomicMap
* Fixed bug in values() that was removing the duplicate values
* Added new DeltaAware interface that allows to copy the instance
ISPN-3952 Upgrade to Hibernate Search 4.5.0.Final
ISPN-3957 Preload with async cache store is not efficient
ISPN-3951 Make sure TestingUtil.replaceComponent is only called after
mock is fully configured

* Changed tests to make sure the replaced component is configured first
ISPN-3956 L1WriteSynchronizer can cause locking with concurrent gets
when value is not present

* Added synchronizer update on get miss to properly release waiters
ISPN-3947 HotRod client keep trying recover connections to a failed cluster

* Allow the user to configure the number of retries per server in the
HotRod client.
ISPN-3903 Transaction Code Optimizations

* Refactor LocalTxInvocationContext and RemoteTxInvocationContext
(see JIRA for more details)
JBQA-8324 server tests for attributes of clustered caches + small log fix
Allow to pass -d64 switch to the jvm
ISPN-3920 Server initialization race condition - cache config defaults not used
ISPN-3872 Validate invocation batching and recovery configuration

* Throw a cache configuration exception if both invocation batching
and recovery are enabled.
* Move all cache configuration validation tests to
ConfigurationUnitTest, and remove old configuration validation test
classes.
* TransactionConfigurationBuilder.recovery() should not enable
recovery! That causes issues when validating and it's not symmetric
with how other builders work.
* Fix some server subsystem configuration files using wrong
configuration combo.

Minor fixes
ISPN-3881 Remove all references to the old startServer.[sh|bat] scripts and adjust docs accordingly