ISPN-4801 ConcurrentModificationException on the FileListCacheValue
ISPN-4803 Set JBOSS_HOME for server integration tests
ISPN-4717 Add Hot Rod error codes for suspicions and lifecycle errors

* Added two new error codes for situations where nodes are suspected
and when cache or cache managers are stopping or stopped.
* This makes it easier for clients to decide whether to failover
or not.
ISPN-4717 Filter both members and segments when sending new topology

* Segments were filtered based on the content of the topology cache
which provides the endpoint information. This is not enough since
otherwise views themselves are not updated correctly, even if
segment information is.
* Instead, filter both view and segment to be sent to client.
ISPN-4563 Create unit test to replicate concurrency issue

Change-Id: Id381cc57965b8520111ad5337c619d8d9b4e75aa
ISPN-4563 Fixed comparing configuration in JCacheManager
ISPN-4563 JCache createCache/getCache synchronized in cache resolver

* This applies only to the DefaultCacheResolver, which sticks to using
standard javax.cache mechanisms to find cache managers in the system.
As a result of this, the class limits itself to using purely
javax.cache APIs, which is why synchronization is required.
* This fix is not required for the InjectedCacheResolver because this
one is based around the fact that you're in an environment where you
are injecting Infinispan CacheManager instances, and hence the cache
resolver can wrap those with whatever it wants. In fact, it directly
uses JCacheManager concrete class, allowing it to call configureCache
method which really acts like a getOrCreate method in a safe way.
* The changes in DefaultCacheResolver are needed because
resolveCache() could be called concurrently, so given the limitations
of createCache/getCache, synchronization is needed to guarantee
correct behaviour.
* JCache API specifies that createCache() returns an exception if
the cache name is alreadyd defined. It would have been better for it
to return the Cache itself if present, since that way synchronization
would have been responsibility of the JCache provider.
ISPN-4563 Rename configureCache to getOrCreateCache in JCacheManager

* The new name better represents the conditional side of this method,
which is way more useful for JCache end users. Unfortunately, since
this method is currently only present in a concrete class, its
usability is a limited.
ISPN-4804 DeltaReplicationTest.testDeltasAreSent random failure
ISPN-4775 UberJar fixes
- Make uberjars depend on a common parent
- Generate source uberjars
- Include the LevelDB cachestore in the embedded jar
- Ensure that uberjars expose the correct remaining transitive deps
- Combine any existing service files
ISPN-4769 ISPN-4770 ISPN-4771 Various Doclet fixes

ISPN-4769 XSD Documentation builder fixes
- show documentation annotations for restrictions
- handle xs:list simpletypes
- use the local namespace in the JDBC XSD where it is missing

ISPN-4770 PublicAPI doclet should not crash on empty component types (i.e. generics without type parameters)

ISPN-4771 Introduce a DocleMultiplexer to combine doclet execution in one
- Clean up doclets to better adhere to the JavaDoc spec
JavaDoc fixes
ISPN-4774 Demos
- Rearrange demo paths and depend on uber-jars
- Drop directory demo
Move CDI module up one level
ISPN-4728 ISPN-4773 Distribution fixes

ISPN-4773
- Move distribution to its own module
- Use ant instead of assembly descriptors to prepare the distribution for simplicity/maintenance
- Group JavaDoc APIs
- Provide a documentation index which points to javadocs, schema docs and jmx docs

ISPN-4728 Use UberJars as main distribution packaging
Re-enable server module trimming