ISPN-2483 State transfer issue with the transactions for which the originator has crashed

Remove StaleTransactionCleanupService and clean the stale transactions
explicitly from StateConcumerImpl.onTopologyUpdate, after applying any
transferred transactions.

Since now it's more likely to have stale transactions on the provider,
the provider also checks if the originator has left the cache before
sending a transaction.
ISPN-2778 When a cache is restarted, the LEAVE and JOIN commands are not ordered

Make the LEAVE command synchronous. Since the cache start/shutdown is
already synchronized, this will prevent the cache from restarting before
the coordinator has removed it from the members list.
ISPN-2768 - Write new tests for Query module

  * New tests are added to Infinispan Query module testing Clustered Queries;
  * New tests are added for testing Queries on Topology Aware nodes;
  * New tests are added testing programmatic configuration for mass indexers;
Add missing annotations and toString, the latter to improve readability of logs
ISPN-2708 Fix support for custom marshallers
ISPN-2784 ReplStateTransferCacheLoaderTest fails randomly in FileCacheStore.start()

This failure seems platform related. Will use the same approach to create the temp dir as in FileCacheStoreTest.
Test was missing assert statement
ISPN-2689 Moved the lucene-directory (Lucene 3) into lucene subdir
ISPN-2689 Adjust poms or moved Lucene Directory project, create a parent pom for all Lucene integrations
ISPN-2689 Duplicate existing Lucene directory into new 'lucene-v4' module
ISPN-2689 Enable the new module build and change its identifier
ISPN-2689 Cleanup pom files from no longer needed dependencies
ISPN-2689 Dependency management for two different Lucene versions
ISPN-2689 Replace dependencies from Solr to Hibernate Search Analyzers

Simplifies version number management
ISPN-2689 Apply code changes to be compatible with Lucene 4.1
ISPN-2689 Minimize differences between the two Directory implementations
ISPN-2689 Moving previous Lucene v3 implementation in .impl sub package
ISPN-2689 Extract reusable code from v3 implementation
ISPN-2689 Re-sync the v4 implementation to use the common code
ISPN-2689 Remove constructors and refactor them in a fluent builder