Introduce thrift format for ingest

Definitely some questions around this - opening it up for discussion
The reason for not just passing the bytes is you are worried about exceptions in your get method? Otherwise, I would just pass the Array[Byte] as an argument.