Updates to the event API itself.

- Deprecate `PrivmsgEvent`.
- Add class IrcPrivmsgEvent.
  Class differs from PrivmsgEvent in __init__(user) taking a User object instead of a string and the addition of the reply(message) method.
- Add class ChannelMessageEvent extending IrcPrivmsgEvent.
- Add class UserMessageEvent extending IrcPrivmsgEvent.
Reimplement PRIVMSG handling on a basic level

- Removed the `Client.privmsg()` method.
- Added the `Client.irc_PRIVMSG()` method, overriding the inherited method from `irc.IRCClient`.
derp
That's so 404'd

- Fix IrcPrivmsgEvent.reply() exceptions.
- Fix PRIVMSG sender not being properly instanciated.
- Fix query target users being None.
- Fix name exceptions on event firing from PRIVMSGs.
Fix CTCP queries again.
404'd PLS
;_;
Hotfix for 404'd's brain.
Merge branch 'issue/36.irc_PRIVMSG-reimplementation' into feature/docs-and-cleanup