Tree/Recursive struct support in thrift

Patches to implement tree/list/co-recursive structures in thrift, a la protobufs.