Redo Bot Configuration and Connection Manager

New Features:
- [x] Multi-server support
- [x] Per-server configuration overriding
- [x] Threaded event handlers

Bugs:
- [x] Event cancelling is broken.

Changes:
- Rewrite the event system to be more concise and work with multiple servers
    - `event.trigger` now takes an additional parameter server tag as the first parameter.
    - Fix plugins which would break because of the event system rewrite.
    - Because of threaded event handlers, event.fire now takes an optional keyword callable `callback` to be executed after the events have finished running. Each event fired runs in its own thread to make this possible.

- Multiserver support
    - All enabled servers should have a `server.<servertag>` sections in the config file in order to be enabled.
    - Config options set in a `server.<servertag>.<section>` section will take precedence to any options set in `<section>`.
    - There's one module instance per server where the module is in use.
    - Fix plugins which would break by this change (i.e. class-level attributes).
    - The configuration section `[server]` is now `[server.<servertag>]`, replacing `<servertag>` with something unique that will be used to refer to the server.