Various cleanups, doc and test fixes.

 - Removed redundant exception types
 - Added some tests for Versioning functionality
 - Added package Java docs for most important packages
 - Improved other Javadocs