Various update to the modula3 module

Made quite a few changes to the modula3 module to facilitate the creation of objects the automatic handling of enumerations and various bug fixes and to bring it up to date with the latest swig mainline.