Add Structs to Dictionary Thrift

This is almost certainly not quite right yet, although trying to do the _bare minimum_ to support structs in Dictionary. This PR doesn't allow for import, and thus I have punted on places where the struct is actually used.

EDIT: I haven't done anything about `List` yet - will add separately.
I wanted to call this `optional` - not sure if there is a way of escaping things in Thrift?