Switch to using proxy types instead of custom readers/writers

custom reader/writers do not allow us to generate a thrift file
describing the schema