Adds a ChunkedBuffer class to contain HTTP/2 wire format bytes.

This will replace a std::string used for this purpose in OgHttp2Session.

Possible future extensions:
* use QuicheBuffer or QuicheMemSlice as the memory region type in ChunkBuffer::Chunk
* implement spdy::ZeroCopyOutputBuffer or write an adapter, for direct frame serialization

PiperOrigin-RevId: 626495713
diff --git a/build/source_list.bzl b/build/source_list.bzl
index 334b02a..2e6cd92 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -60,6 +60,7 @@
     "common/simple_buffer_allocator.h",
     "common/structured_headers.h",
     "common/wire_serialization.h",
+    "http2/adapter/chunked_buffer.h",
     "http2/adapter/data_source.h",
     "http2/adapter/event_forwarder.h",
     "http2/adapter/header_validator.h",
@@ -418,6 +419,7 @@
     "common/quiche_text_utils.cc",
     "common/simple_buffer_allocator.cc",
     "common/structured_headers.cc",
+    "http2/adapter/chunked_buffer.cc",
     "http2/adapter/event_forwarder.cc",
     "http2/adapter/header_validator.cc",
     "http2/adapter/http2_protocol.cc",
@@ -1092,6 +1094,7 @@
     "common/test_tools/mock_streams_test.cc",
     "common/test_tools/quiche_test_utils_test.cc",
     "common/wire_serialization_test.cc",
+    "http2/adapter/chunked_buffer_test.cc",
     "http2/adapter/event_forwarder_test.cc",
     "http2/adapter/header_validator_test.cc",
     "http2/adapter/noop_header_validator_test.cc",