Setup.py Changes & Pep8 Fixes

Few things here.

Did a bit of code cleanup (spaces in the right places, removed a trailing space, added a newline, etc)

Changed the requirements so that you can have newer versions of various packages listed.

Also, since tests aren't strictly necessary I added mock and nose to setup.py's tests_require, which means to run tests you'll want to do either `python setup.py test` (if not pre-installing nose) or `python setup.py nosetests` (if nose is pre-installed) instead of `nosetests` (you might need to change drone.io here)