Implement rev-list --objects for tree and blob traversal
To verify connectivity and pack file generation we need to produce a
complete list of objects reachable from one or more starting points.
The new ObjectWalk class supports doing that by tracking which
RevTrees are associated with a RevCommit that we returned to the
application, and then also walk through those tree objects and
return them, including any referenced blob or subtree that were
also not yet returned.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>