Use symbolic names for the git file types

Instead of hardcoding the regular file mode (0100644 is the traditional
Unix S_IFREG file mode with -rw-r--r-- protections), use
GIT_FILEMODE_BLOB (and GIT_FILEMODE_TREE for 040000 - S_IFDIR).

The numbers were historically indeed the regular S_IFREG/S_IFDIR values,
but since those aren't portable, git ended up defining their own.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Add initial parser for git trees

It doesn't actually parse the files themselves, but it does walk the
object tree and print out the dives and trips it finds.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>