[thrift] flesh out support for all thrift primitives, see #320