Tidy up TODOs
Add documentation
Add a requirements file for development
Removing pointless requirements file
Tidying up the license newlines
Removing references to files that don't exist
Build docs in tox, don't test in Python 3

There are some weird Python 3 errors when you install
everything (not related to the code itself, which passes
tests fine on Python 3).
Update Makefile with a few more useful commands

This adds support for running the tests, running flake8, and
a few more things.