Massive code cleanup branch
Makes the code base flake8 clean, removes ctrl-L's (!) and other stuff.
- Add flake8 public to enforce import style guide rules.
- Add static analysis test to regular test suite.
Yes, this is big but it's something I want to do before GSoC really gets rolling. Apologies for any rebases necessary.