Finish web.py API

Now to add more Shorteners/Pastebins...
Add more URL shorteners

Add more URL shorteners
Also, make web.expand try to scan for a URL shorter to use
If it doesn't have a dedicated one, it just follows the link
Merge pull request #5 from neersighted/web-fuckery

Web Fuckery
Use requests's allow_redirects=False parameter instead of checking request.url. Also, fall back on the default shortener expansion using an if check instead of creating a new Shortener for every failed match.
Update plugins to use new web shortening and paste api
Add @asyncio.coroutine to a ton of plugins

Note: also updates some plugins to new format (inp -> text, multiple @hook.commands -> one hook)
Remove the option to use threaded=X or async=X, leaving only @asyncio.coroutine
A few more plugin updates
Formatting imports
Might fix sieves
Documentation updates! Tons of them!

(also merges kill.py into attacks.py)
Merge branch '3.4-mass-asyncio' into python3.4
@hook.event -> @hook.irc_raw (can undo, but this was planned afaik)
Add a hook.description property which returns plugin_title:hook_function_name, just to make output code a lot more clear
Fix regex hooks, also remove support for @hook.regex(str, flags) in favor of @hook.regex(re.compile(str, flags)) when flags are required
did *not* mean to include this

(/me glares at git)
Rewrite Pyexec

Pyexec is now part of web.py
In addition, it uses the much more reliable pyexec.appspot.com
Also, factoids are broken
Undo change from event -> raw - we probably should change @hook.event to *something* else though
Revert "Undo change from event -> raw - we probably should change @hook.event to *something* else though"

This reverts commit 6d0a15d21de61c02d0a11ea998d7c9061a34f3f7.
Update cryptocoins to use requests