Expose thrift methods to read structs

Summary: The existing thrift methods are great for sending/reading method
calls, but don't work well for thrift processors which need the seqid and
message type that is thrown away by the existing methods. This diff exposes
methods that only read structs and don't expect a message header, for both the
binary and compact protocols.

Reviewed By: @​mcduff

Differential Revision: D1638636