Optimize GetBlobs in case request.Limit == 0
It is valid to request multiple blobs with GetBlobs and limit: 0. This has the effect of only sending back the blob ID and blob size.
The current implementation of GetBlobs will copy the entire blob from git cat-file --batch to /dev/null if limit == 0. This gives the correct result but it's slow.
We should add a short-circuit path in the implementation that skips reading the blob at all when limit == 0.