refactor(irmin): flat Store.* API, Disk backend, fix Git interop
- common.ml: replace Mst_tree + per-backend modules with Mst_store functor;
all backends now use module S = Store.Git/Store.Mst so ops are S.*
- config: add Disk backend (append-only WAL); single canonical name per backend
- git_interop: skip write if object exists; fix blob/tree detection with try-parse
- pds_interop: add mst_backend bridging Pds.t to Backend.t
- irmin.ml: add Git.open_/init/import and Mst.of_pds/disk/memory builders
- ocaml-git/repository: mkdirs instead of mkdir in init (handles nested paths)
- cmd_info/export: use Git.open_ instead of import_git ~git_dir