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.
Most channels won't have this mode on it, and checking for the existence of the mode is less intense than all the checks involved in unsetting an unset mode (and checking it adds only a very small performance penalty for channels that do have it).