Update channel list when the bot joins or parts.
Rework the module system.

Modules are now gen_server processes, rather than gen_event handlers.
It's not currently complete, though (modules can't register commands
yet and module crashes aren't handled properly).