Clean up a few things
There isn't a need for these extra new scopes now that we are aquiring a read lock on the PluginRegister for the whole method
Add support for calling commands in private messages, and for using 'BotName, command' format for calling commands.

This includes:
- Add a reference to the Client in IrcConnection
- Change channel to sender's nick if channel is bot's nick for PRIVMSG messages
- Abstract command calling a bit, create a dispatch_command function, so that it can be called from multiple places
- Attempt to find command calls in a message three different ways, first using command_prefix, second using BotName, command format, and third just plain 'command' in private message.