ISPN-4446 Signal components of cache removal

* Since stop() takes no parameters, make the remove cache command
signal components of cache removal before cache stop, so that they can
do their job.
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