Refactoring Targets

Prioritize improvements to these files since they have the highest technical debt interest rate.

git/Makefile
git/refs.c
git/sha1_file.c
git/diff.c
git/revision.c
git/builtin/pack-objects.c
git/fast-import.c
git/builtin/commit.c
git/read-cache.c
git/builtin/log.c
git/commit.c
git/builtin/checkout.c
git/sha1_name.c
git/builtin/receive-pack.c
git/builtin/grep.c
git/builtin/merge.c
git/upload-pack.c
git/builtin/update-index.c
git/builtin/index-pack.c