Update hacking

Attempt to clean up hacking docs.  Reordered documentation, added some instructions specific to Debian/Ubuntu, and updated docs to use `requirements.txt` files.

I noticed that `psutil` is not in `requirements.txt`.  Is this a development requirement or is it not needed at all?