Add (sparse) structs to Fact thrift format

We should add an issue with a reminder to do this once this big wave of changes are done.