Merge outstanding PRs

* Merges all outstanding PRs, adding support for python 3 and pypy
* Fixes merge conflicts with master
* Adds travis and tox support for testing

Note: cache tests are skipped in python 3 and pypy due to gevent requirement. This can be fixed by swapping asis out in favor of responses, httparty, etc.
Agreed. I'm on board with either changing all the whitespace or leaving as it originally was. Obviously PEP8 doesn't like the original whitespace, but I think it's not uncommon in setup.py.