Add logging config and move logging config options to it
Majorly redo events.py, to have a new set of non-irc-specific parameters ready for abstraction.

- Rename event.irc_message to event.context. This allows for getting the content of a message in a non irc-specific manner
- Instead of having event.conn depend on event.irc_paramlist, instead have it be set in creation
- Add an event.target variable to show the target of an event. This is currently only set in INVITE and KICK events
- Add an event.irc_ctcp_text for when a CTCP is used from IRC. This makes it easier for plugins to access CTCP command/text
- Add an EventType enumeration for specifying different types of events in a non-irc-specific manner
- Update plugins to use event.content instead of event.irc_message
- Set event.bot when creating on connection.py, instead of setting it in child events in bot.process
Merge IRCConnection into BotConnection
Change default realname to CloudBotRefresh, using cloudbot.pw
Remove the event.server property
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 profiling plugin for debugging
Complete rewrite of log plugin