Modules now require a boolean, this determines if they are loaded or
not.
Changed module to be prepared for configuration based edits.
Changed all modules to be enabled by default. This is purely for testing
and will be removed once a configuration system is actually implemented.
Added an onInit method for modules to use.
Removed onModuleEnabled, forgot we had constructors that are called at
the same stage.
Fixed issues not allowing TAIL and HEAD to work.
Added method to register Plugins