Introduce thrift format for ingest

Definitely some questions around this - opening it up for discussion
Dumb question - is each line going to specify the namespace? In which case can/should we just have `ThriftFact` that has the required fields - there isn't much point in having both.