provide oid=? and object=?
take lookup'd objects to records directly (without relying on general lookup interface)
separate repo path & workdir lookup into two functions
ensure references are correctly GC'd
dup tree-entries into CHICKEN's control for GC
provide tree-fold & tree-entries (rather than tree-walk)

This matches the fold interface used for other object types, and brings
the yielded tree-entries under CHICKEN's control w.r.t. GC.
replace tree-builder-remove (accidentally deleted)
tag index-entries with their index

This keeps a reference to the owning index, to prevent it from beeing
free'd out from under them.
tag diffs w/ their diff-list to prevent it from being free'd
remove unused tag type argument to tags-fold
finish cleaning up tests for recent changes
remove use of commit lookup function in merge-base
add missing repo argument to git-blob*-lookup
big documentation update