[fix] Update to groovy 2.1.7 should fix an old issue when importing classes relative to the script's location and relative classpath references.
[cosmetic] Add documenting comments to the codegenerator template for clarity. Also changed some things that were dynamically typed in groovy to static typing for clarity and safety.
The codegenerator now handles dynamic typing (that SWIG alone could never to) by using RTTI on the objects passed so that their concrete types, rather than their current static types, are considered correctly when being returned to python. This allows us to remove a lot of extraneous virtual methods from the Control parent class.

Removed all of the extraneous methods at the parent level to handle the dynamic language concerns of returning a Control rather than a specific type.

Added more documentation and removed some things that were only visible for reasons no longer viable.

Hide show/close from python in WindowDialog since they are inherited from Window.

Also added a simplistic hack for handling dynamically typed parameters to methods using an Alternative<T1,T2> template. The only better step would be full support of overridden methods. This allows the removal all of the explicit python code in the *.i files (with the exception of the rich compare _rcmp on the Action class).