Overhaul Git.io/Is.gd/Github Issues

This is part of the start of a broader effort to overhaul all HTTP.

Changes in this commit:

* Overhaul URL shorteners to be inheritance based and use requests
* This paves the way for config-based choosing of URL shortners
* Move git.io into shorten.py
* Rewrite github.py to use requests
* Add the start of a textutils library (currently only has truncate())
Fix github.py state check

Made a boo-boo when checking if an issue is open in github.py.
This quick commit fixes that.
Use formatting.py

Didn't see that there...
Merge pull request #3 from neersighted/python3.4

Overhaul Git.io/Is.gd/Github Issues