- `KeyVersionedValueStore` class, similar to `KeyValueStore`, but stores linear version history for each value
- supports "commit", "checkout" and "revert"
- uses custom diff to compress version history
- structural diff for JSON documents, both mappings and arrays (the latter works best for single-element modifications)
- textual diff with `diff-patch-match` for large texts
- stores arbitrary version metadata
- last version is stored in full, so loaded in O(1)
- multi-connection-safe
- improved test coverage for Redis emulation and stores
- fixed test running with real Redis