MST implementation with support for operation inversion (#914)
This is fairly similar to `indigo/mst`, but written from scratch in a
more go-idiomatic style, with the intent of supporting record op
inversion (for the "inductive firehose" proposal).
Goal is to have something that passes full interop tests with TypeScript
codebase, and can validate commits on the firehose. Would take more perf
work after that, and probably review, to get this in a state where it
could be in the hot path in prod.