Beginning of gitlib-hit (Data.Git) back-end, based on gitlib-cmdline.

Using Hit for open/init repository passes smoke test.
hashContents ported to Hit
createBlob ported to Hit
lookupTree ported to Hit
treeEntry ported to Hit
lookupBlob ported to Hit
existsObject ported to Hit
Merge remote-tracking branch 'upstream/master'

Conflicts:
	sources.txt
Update gitlib-hit to use MonadThrow
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.
Merge pull request #1 from league/master

Progress on gitlib-hit