Introduce thrift format for ingest

Definitely some questions around this - opening it up for discussion
> ByteVector.view rather than ByteVector.apply in this case.

Is this what you had in mind?

    ByteVector.view(value.getBytes.apply, value.getLength)