Use 'responses' library to mock the requests for testing.

This will allow us to test more thoroughly. This only ports the existing tests, but should show the way forward for more testing.

See:

http://cramer.io/2014/05/20/mocking-requests-with-responses/
https://github.com/dropbox/responses