Added a new base class for modules to cut down on the amount of duplicated default static methods for setting up the module name, description, system path and icon; These methods have now been moved into a new class 'ctrl_module' of which the module_controller classes now extends. If certain third-party modules output non-standard code for these base methods these can be overridden in the the module_controller clas as one would expect but made sense to clean up and remove what is generally duplicated code in the standard core modules.