Add (sparse) structs to Fact thrift format

General note, that I don't think these belong here. But there isn't a better place at the moment. But this is really specific to a certain type of output (of which there will be many). Not important, but at some point we should pull out a print fact interface/function for dealing with the different types.