Update to add flake8 (A pep8 checker) to travis.

This update include the running of flake8 (https://flake8.readthedocs.org/en/2.0/) when Travis runs tests. Currently there are two errors that are ignored:

E501 (lines > 80 characters) and
F403 (from foo import * - instead of individual scopes)

There are ~10 F403 errors that can be corrected, but there are lots of E501 errors. I'm not sure it's worth fixing them because the 80 column constraint is old school (or so I've been told by kids today).

Currently with the changes in this pull request, which touch many files, the tests pass (all 21 of them), but more importantly the pep8 check passes too.

Next steps for me are to include:

- pylint
- more tests