Downloadqueue cleanup.

* Code cleanup - still a bit messy.
* Docstrings updated.
* Basic Unittests written.
cache.py docstrings and unitests updated.
pip requirements updated. sphinx basic doc testing.