irmin: rebase onto current toml + json APIs
- toml: drop the [toml.bytesrw] dep and inline encoder names —
[Toml.encode_string] is now [Toml.to_string],
[Toml_bytesrw.decode_string] is now [Toml.of_string], both via
the main [toml] library.
- json: AST constructors moved to top-level [Json.{Object,Array,
mem,name,object',list,...}]; only the codec namespace stays under
[Json.Codec]. Fixes the [Json.Codec.Object] / [Json.Codec.Value.mem]
usages in irmin_oci, irmin_json, test_irmin_tar, test_schema.
- worktree: two stray [(Json.Error.to_string e).path] expressions
were typo'd; [e] is an entry record so it's just [e.path].
- test_worktree: [e] is already a string after the bos error
unwrap; drop the [Json.Error.to_string] wrapper.
- test_sync.stats.unique_hashes was [mutable] but only ever
Hashtbl-mutated, never reassigned; drop the [mutable] keyword.
- test_schema.git_hash was orphaned (no callers); delete.