Don't import from requests directly.

This fix the setup.py.
Install some dependencies before running the tests
add some docs while reading the sourcecode
Some more comments.