Simplify some of the testing commands

Changes:

* Add test suite so `python setup.py test` can be used to run the tests
* Use `python setup.py test` in Makefile and tox instead of verbose command currently specified
* Move flake8 configuration into `tox.ini` file
* Test code style with flake8 in tox environment
* Run flake8 after tests in Makefile so flake8 errors don't stop tests from being run

Some related changes I think should be made:

* Measure code coverage with tox (`coverage run setup.py test` instead of 'python setup.py test`)
* Add Makefile command to run tox and and create cli and HTML coverage reports (possibly replacing existing `make test`)
* Test that documentation builds properly using tox environment
* Allow `python setup.py build_sphinx` to work (requires creating setup.cfg file)