Add Data.Git.Storage.Git type to HitRepo representation.

This aligns the Hit `openRepo` and `closeRepo` with the gitlib
`withRepository`, so we don't need the Hit `withRepo` everywhere.
resolveRef ported to Hit.