Introduce thrift format for ingest

Definitely some questions around this - opening it up for discussion
@markhibberd Actually I _think_ this is what you're supposed to do. Internally it's patten matching on `Chunk` and calling the internal `take()` on `view`. Let me know if that looks right.