Add support for plugins using the old `commandname <args> -- description` format, detecting it using `doc.split(None, 1)[0].isalpha()`
Add logging config and move logging config options to it
Rename event.irc_message to event.content. This also only sets event.context if the IRC command is PRIVMSG. This allows for checking if an event is a message without relying on irc_* params, and anyways plugins can use event.irc_paramlist[-1] if they want the last param for non-message events.
Merge IRCConnection into BotConnection
Split BotConnection into an abstract Connection, and an implementation IrcConnection.

Also:
- Change realname to point to cloudbot.pw
- Fix QUIT messages not being displayed when being killed
- Change conn.cmd(name, [arg1, arg2]) to conn.cmd(name, arg1, arg2)
- Add conn.action and conn.notice for non-irc-specific action/notices
Add formatting.strip_colors method for IRC color stripping
Expose cloudbot.log_dir for external usage by plugins
Add an EventType enum to BaseEvent for allowing different events (JOIN, PART, MESSAGE, KICK, NOTICE) to be separated in a non-IRC-specific manner, not relying on irc_command
Add profiling plugin for debugging
Use EventType in ignore plugin
Complete rewrite of log plugin
Change reply format from ({}) to {},
Change ctcp reply to return 'Eliralin'
Update minecraft_status to use unicode checks, and with a new format.
Add steal plugin.
Replace symbol for factoids.

Changes ?fact to ^fact
Add teamcity plugin
Add more dinner phrases
Create eliralin_utility.py for extras
Add per-channel command prefixes