Patch Set 5: I would prefer that you didn't submit this

This isn't rebased to current master, and has some merge conflicts now.  But its mostly updated to use the streaming API where it was obvious that we should stream a blob.