Added a requirements.txt.

Also set up setup.py to use it. This will make dev work less error
prone.