Add some tests for resolve_deps.py

This is no where near enough tests yet but some is better than none!

I also had to fix a bug in get_reqs_recursive that only manifested in the test suite - if you called this top level function more than ones the deps hash would be re-used due to incorrect default parameters.
I think I already said this, but: remove this `#TODO` and open an issue?