ISPN-3738 Entry version gets lost during topology change -> NPE

* refactor some most used classes like BlockingLocalTopologyManager
and NotifierLatch
* prepare forwarding during state transfer merges the forward response
ISPN-3773 State transfer thread can stop even though there are pending transfer tasks

Put the empty queue check and the thread stop in a synchronized block.
Simplify the state transfer loop by retrying failed tasks immediately.
ISPN-3780 InvalidateL1Command during ST should not cancel writing the
entry by ST in nontx
ISPN-3784 Exiting because has NOT shut down all the cache managers it has started
ISPN-3805 Extended statistics test failures caused by ISPN-3422
ISPN-3821 Include missing client dependencies

Also Clean up some server dependencies
- Remove the unsued jts dependency
- Use xpp3 instead of xmlpull (drop-in replacement)
ISPN-3364 Tests from org.infinispan.atomic package fail with
AssertionError

* New IBM JDKs are implement LinkedHashMap properly now
* Thus reverted IBM LRU back to using standard LRU class
ISPN-3822 Add a boolean statistics attribute to both containers and caches
ISPN-3809 Manual indexing cannot be triggered when running in server mode

The MapReduceInitializer is not loaded from server classpath due to misconfiguration of module.xml and as a consequence the m/r task is not properly initialized.

* Add ManualIndexingTest for server
* Fix module dependencies so MapReduceInitializer gets loaded properly
* Also modify RemoteQueryTest.readClasspathResource to use Util.readStream instead of duplicating the code
ISPN-3184 The DELTA_WRITE flag should force a remote get during state transfer
ISPN-3327 Fix the init.d script
- make all paths parametric
- run the server as root if no specific user has been specified
- use the JBOSS prefix for two of the env variables that need to be checked by standalone.sh (to avoid too much divergence)
ISPN-3777 ThreadLocal in AbstractInvocationContextContainer is leaking
instances of LocalTxInvocationContext

* InvocationContextInterceptor now sets the InvocationContext thread-local
* Batching mode now also uses InvocationContextInterceptor, so there is
  only one place where the thread local is set/removed.
* InvocationContextFactory was extracted from InvocationContextContainer
* The thread-local is not set when the classloader is not needed, or when
  the call classloader (either from AdvancedCache.with(ClassLoader) or from
  the thread's context classloader) is the same as the configured
  classloader (by default, the context classloader of the thread that
  created the GlobalConfiguration).
* DefaultContextClassResolver now prefers the classloader in the
  configuration to the current thread's context classloader (but if they
  are different, the context classloader was already set in the
  InvocationContext and returned by EmbeddedContextClassResolver).
ISPN-3659 Cache stop should clear thread-local ExtendedRiverMarshaller or their instance caches
ISPN-3608 Parse IPv4 or IPv6 server addresses
Fix some usages of Hibernate Search deprecated api
ISPN-3828 Some query and remote query tests using filesystem Lucene directory need to ensure the index is clean before and after the test
ISPN-3724 Don't make the REST target migrator complain about spurious
keys injected by other source migrators
ISPN-3048 Eviction needs to be transactional

* Fixed issues with manual eviction to make it more reliable
* Added tests for manual and size based eviction which happens
concurrently with other operations