Module management commands and unloading enforcement

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`. It used to remove the mode chars from the dictionaries before calling `fullUnload`. This wouldn't let modules unset their modes, as txircd was confused into thinking the mode chars they were trying to unset did not exist.
does it really matter? It's a massive pain to go back and add trailing whitespace on lines where I wouldn't normally put any...