Add support for union, binary fields, and empty structs

This adds all the things I needed to support loading Apache Storm's thrift file. I'll finish adding the test data tomorrow, but wanted to trigger a travis build to make sure everything was working so far.