Protobuf codec for the Hrana 3 over HTTP message envelopes: the pipeline and
cursor request/response bodies and the per-request StreamRequest /
StreamResponse / StreamResult types. Maps to and from the same Hrana maps
the JSON pipeline uses (%{"baton" => ..., "requests" => [...]}, request maps
tagged by "type"), so Filo.Plug can serve the v3-protobuf routes by
swapping only the body codec. Shared structures come from Filo.Protobuf.