Fix upload streamer to allocate memory by piece instead of by chunk
When fetching data from an upload streamer, the memory was being allocate per-chunk, which means that the GC cannot collect any of the memory until it can collect all of the memory. This is incompatible with how the renter manages memory, memory needs to be allocated per-piece.