[WIP] PEP8 + Other Fixes

This is a pretty big pull request, and still in progress.

- PEP8 everything (agree or disagree?)
- Minor changes to support python 2.7 (`asyncio`)
- Make use of the `@asynchronous` decorator, unsure if this is desired yet... still investigating.

I suggest viewing the diff with `?w=1` on github to make it somewhat readable! I'll also do a rebase and split out the commits once everything is in working order.