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
- Remove event.server, as it's irc-specific and can be easily gotten from event.conn.server
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 logging config and move logging config options to it
Add profiling plugin for debugging
Complete rewrite of log plugin