Make more use of setup.py.

Use 'setup.py flake8' for pep8/pyflakes.
Make 'make clean' clean more.
Add python requirements files.
Add misc build/test debris to .gitignore
Add 'make docs' target for sphinx.