Add Message class and constructors for common messages
Use Message objects internally and pass one to Do* hooks
Add support for IRCv3 message tags
Add a message queue