Add flake8 configuration
Add a .tox test runner
Discovery runner compatibility, Python 3 compatibility