given a function to lookup hashes, a list of hashes to walk, and an optional hash to stop at, return a readable stream of git commits in (largely) reverse chronological order.
var load =walk =fs =
create a readable/writable stream of git commits.
mark a hash as "seen" arbitrarily. this is useful for the git smart pack protocol.