P2PQuicStream read functionality.

This adds the P2PQuicStream::Delegate::OnDataReceived and adds tests. It
also adds the concept of marking data as consumed by the application and
keeping track of the application's read buffered size and amount. This
ensures that the P2PQuicStream does not give the application more data
than it can buffer, and if its buffer is full it will apply backpressure
to the send side.

Bug: 874296
Change-Id: I85f677778631a04a5eb1ccd71457485c9444824e
Reviewed-on: https://chromium-review.googlesource.com/c/1316836
Commit-Queue: Seth Hampson <shampson@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605783}
13 files changed