Fixes a correctness issue in Thrift record decoding: the previous decoder assumed fields arrive strictly in schema order.
This change decodes records by field id (order-independent) and skips unknown fields, with a regression test that writes an out-of-order Thrift struct.
/claim #681
Stan Byriukov
@StanByriukov02
ZIO
@ZIO