Add (sparse) structs to Fact thrift format

What about this: https://gist.github.com/etorreborre/b7f2b0d7d149b5ec3bab?