Support nil causes for generate exceptions
* Move the responsibility for generating code into the templates and out of the orchestration code.
* Introduce a class hierarchy for templates to make it easy to add templates with different syntax
Update to the new template API
Revert change to where the PersistenceUnit artifact was generated
Extract some variables
Make it possible to define a getter that is never overridable
Add a "template" that generates java classes using wsimport tool