Added setup.py with some extra commands to lint, flake and coverage.

Just as the title suggests, you have to install the relevant packages for the extra setup.py commands to work, but once done they are useful.