Run backend-agnostic store tests on MST, Git, and PDS backends
Extract 9 test scenarios as top-level functions (test_commit_checkout,
test_multi_commit, test_read_commit, test_multi_branch, test_cas,
test_log, test_ancestor, test_merge_base, test_head_none) that take
an Irmin.t and work on any backend.
generic_tests runs them on all three backends:
- store:mst (in-memory MST) — 9/9 pass
- store:git (on-disk Git) — 9/9 pass
- store:pds (ATProto PDS) — 3/9 pass (commit/checkout/log/read_commit/
is_ancestor/merge_base not yet implemented for PDS)