Re-refactor things

Changes:
- Move cloudbot/util/hook to cloudbot/
- Remove cloudbot/util/* aliases in cloudbot/
- Merge cloudbot/dialect/irc/protocol.py and cloudbot/dialect/irc/client.py into cloudbot/clients/irc.py
- Re-add cloudbot/client.py
- Fix a few refactoring errors in plugins/minecraft_ping.py
Generic plugin formatting
Fix for action
Fix spelling error in pyexec
Remove two plugin test. Neither work, both depend on cloudbot.util.http which is no longer used.
Redo hook.py a bit to have all hooks support *args, rather than having to pass lists.
Change the way hook.py creates _*Hook objects

Instead of having each decorator create *Hook object, it will just pass the type to _add_hook() (which it already did), and _add_hook will create a new hook if there isn't already one there.

This is in preperation for adding an add_hook function to PluginManager, but it also cleans up hook.py a bit too.
Use a HookType enum for identifying hook types, instead of magic strings
Work in progress: Add add_hook method to PluginManager, and add channel and user tracking.
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
Create eliralin_utility.py for extras
Add per-channel command prefixes
Change regex_chans default from True to False
Use qx.lc for all shortening, just to test
Add a disabled auto-voice plugin that is basically a copied regex_chans plugin at this point. This will be fleshed out and created after user tracking is implemented