Moving to `setup.py test` so mock/nose aren't required

Right now when you install flanker you'll need to download mock and nose. This should be optional, so the best way to handle this is to use tests_require and then use `setup.py test` instead of `nosetests`
Various pep8 style fixes