ISPN-3752 capacityFactor is not effective

Use correct capacityFactor from joiner.
ISPN-3752 capacityFactor is not effective

* Add a functional test for capacity factors
* Copy the capacityFactor in HashConfigurationBuilder.read()
ISPN-3756 Reincarnation should only happen for mortal entries
ISPN-3316 Avoid use of @Alternative for Infinispan components

* In CDI 1.0, alternative components cannot be injected in libraries
used by deployments. In other words, only components used by the app
directly can be switched with alternative.
* An alternative set of Cache*Interceptor classes have been developed
for use in managed environments, which indirectly use the
InjectedCacheResolver.
* Indirectly solved an issue where cache managers where being left
open in CDI/JCache integration tests. This was the result of
JCacheManager trying to stop cache managers for which it didn't
control lifecycle.
* Remove license headers from all source files that had them.
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-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-3498 Cannot construct org.infinispan.util.KeyValuePair as it does not have a no-args constructor

* an JBossMarshaller is built under the hood for each TestObjectStreamMarshaller instance
* users need to call TestObjectStreamMarshaller.stop explicitly
ISPN-3537 Custom interceptor with Position.LAST set programmatically doesn't work
ISPN-3781 Memcached server should fail to start when expiration is configured
Documentation: correct misuses of "an"