Add a ByteBufferQueue data structure

A ByteBufferQueue is internally a queue of byte buffers. Clients
can append entire byte buffers then copy data out across buffer
boundaries.

Bug: 874296
Change-Id: I64e8a7e9f080aa73e818a81c1a42241ac9ac4e26
Reviewed-on: https://chromium-review.googlesource.com/c/1289152
Commit-Queue: Steve Anton <steveanton@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607627}
5 files changed