Remove less-than-useful Tree and Commit caches from Repository
These caches are built using weak references, which means the tree
or commit will be cleared as soon as the caller drops the specific
ObjectId reference they are holding. Since these are parsed out
of ref, commit or tree data it is very unlikely that an application
will request a tree or commit twice in row while still holding the
same ObjectId reference.
RevWalk and TreeWalk offer much faster access to commit and tree
data, and RevWalk uses a much more optimized cache, especially for
repeated walks where map based lookup is completely avoided once
the roots have been loaded into the pending queue.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>