Module management commands

This pull request implements the following commands:
- MODULES
- LOADMODULE
- UNLOADMODULE
- RELOADMODULE

It also ensures that any non-core modules that work with modes will unset said modes when they are unloaded. However, to make this work I had to make a slight change in the order of `unloadModule` in `IRCd