Support for generically-typed thrift structs

Adds support for generically-typed @ThriftFields.

With tests for generic @ThriftStruct classes using all types of extractions (ctor+getters, builder+getters, setters+getters, public fields)