A re-work of the code-generation system to made generated code that is cleaner, more readble, more documented, with methods clustered together to line up infrastructure methods and methods that might reasonably be stepped-through in a debugger.  Along with this includes quite a few changes, including making generation of methods/fields conditional upon their being used, field names only being disambiguated when actually necessary, etc. Some other issues including bulk organization of imports an infrastructure for emitting javadocs, adding some integration tests to verify some things changed here, etc.