Only mark shallow commit if it exists
Make test_fetch.lua more generic
More generic test_remotes.lua
Close files as early as possible, fix #8
Recursively resolve tags, fix #10
Close and remove pack files on exit, fix #9