Add flake8 checker
This will cause the CI to fail if people add new code which breaks the flake8 checker.
For an introduction to flake8, see this https://www.caktusgroup.com/blog/2015/08/15/making-clean-code-part-your-build-process/
The rules for the checker are defined in setup.cfg
. We can change these in future, either making them more or less stringent.
Related to #181 (closed)