Write unit tests around `git_fetch` repository rule
Currently the project does full integration testing.
We need to break it back down into smaller unit tests.
Remove the system tests for now.
Add tests that validate that the downloaded git_fetch .git objects are correct.
Write a test with pytest that uses dulwich Python native git project to validate the downloaded .git objects are correct.
We should test that the necessary commit objects are available for both the root module and submodules. That they are shallow and no extra objects are downloaded.