Split up `requirements.txt`

`requirements_test.txt` has all of the stuff required for running tests,
and `requirements_extra.txt` has extra tools useful for development.

`requirements.txt` is all that's necessary to install on the production
server. Travis-CI also needs `requirements_test.txt`.

Closes #18