leftovers are TBD.
- constrict Dispatcher.dispatch() to arity 3
- add helper methods to Dispatcher
- add EventType to Dispatcher
While fixing things, it was discovered that many of the things inside
LazyGuildDispatcher were just interfaces to GuildMemberList, in a very
weird way, just so it could be fitted inside the main Dispatcher. it was
decided to remove those unecessary interfaces, clients shall use the
manager directly.