Add generation of shaded jar, and rename some methods.

Two shaded jars are now being generated, one classified as 'compat' (holds the module's classes in the compat subpackage) and another as 'compat_X_Y_Z' (holds the module's classes in a subpackage named after its version) to use in backwards compatibility tests.