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.