Reorganize and add setup.py

Closes #10. Makes another dent in #6.

Also adds the ability to automatically install dependencies via a setup.py file. I'm not convinced this is better than a `requirements.txt` and `pip -r` though, since I'm not sure it's even possible to turn this into an egg. But if you really wanted to, you could pip install directly from the git repository.