More flexible jar creation.

Enable a minimal jar and a minimal client jar on calls to mvn package.

This also does some cleanup of the build specs to reuse the dependencies
in component descriptors. Means less duplication across the different
assembly descriptors, and less chance for mistake
Merge pull request #549 from jyates/2.1.1

Enable a minimal jar and a minimal client jar on calls to mvn package.