Fix ATP backend append-only violation: injective rkey, MST dup check
subject_to_rkey was lossy — it stripped the algorithm prefix, so
sha256:X and sha512:X mapped to the same MST key. Now hex-encodes
the full subject for injectivity.
append now also checks Atp.Mst.mem before inserting, preventing
silent overwrites even if the hashtable check passes.
size uses Hashtbl.length (consistent with lookup) instead of
counting MST leaves (which could diverge on collision).
Also: re-export Vds module from scitt.mli so backends can construct
Vds.t records, and fix Vds.lookup/root/export references.