bootstrap: stream commit-graph fetch to bound planning memory
Commit

Replace the per-branch memory.NewStorage() planning fetch with a streaming extractor that pulls only (commit -> parent hashes) tuples from the tree:0-filtered pack.
Previously, bootstrap planning materialized the entire commit set (~1.4M decoded commits for linux, ~5 GiB) just to read each commit's ParentHashes. The new path reads the pack incrementally, extracting parents from each commit as it arrives and discarding the bytes; a bounded LRU keeps recent objects in memory only long enough to resolve deltas. Planning then walks the resulting parents map directly.
Measured against replicate --all-refs https://github.com/torvalds/linux.git
into a local git-http-backend target:
Peak Go heap (inuse) 5.42 GiB 1.47 GiB -73% Peak OS RSS 5.69 GiB 1.63 GiB -71% Wall time (4 GiB batches) 32m 04s 19m 09s -40% Refs pushed 2862/2862 2862/2862 same