Introduce thrift format for ingest

Definitely some questions around this - opening it up for discussion
```
struct ThriftFact {
    1: string entity;
    2: string attribute;
    3: ThriftFactValue value;
    4: string datetime;
}
```