Fixes for bug 1112084 and some doc changes

All the dev requirements have been specified in requirements/dev.txt and are installed while the VM is provisioned. Docs have been updated for the current pre-commit hook. The users no longer have to install flake8 manually.
We're going to use pip for this, so you can nix all the hashes. Further, you can nix the dependencies for flake8 namely mccabe and pyflakes. We need the pep8 one because we're using a fork.