Introduce thrift format for ingest

Definitely some questions around this - opening it up for discussion
With a bit of build work, we should be able to share some of these rather than copy. Sorry, I think I may have confused more than I helped with my quick description the other day. Will follow up tomorrow.