Sort out requirements and setup.py

We really should do something more like https://caremad.io/blog/setup-vs-requirement/ instead of trying to parse `requirements.pip` in `setup.py`.