Odoc docs

Add 'switchdocs complete' for reference completion master

Given a partial reference, list the full references it could become — the reverse of `show`: resolve the parent context and enumerate its children matching the final, incomplete component. Built on the shared Refs module. Forms handled: - dotted members, with kind tags: `List.m` -> List.map, ...; `module-List.type-` -> module-List.type-t (Stdlib open, so bare names work) - path roots: `/o` -> /odoc, /odoc.model, /ocaml-compiler, ... - units under a root: `/odoc.model/` -> /odoc.model/Odoc_model, ... - path + dotted: `/odoc.model/Odoc_model.Pa` -> .../Odoc_model.Paths - bare top-level names: units + open-module members Output preserves the verbatim stem + kind prefix and appends the matched name. Input is split with a tolerant scanner (odoc's tokenizer rejects the empty trailing identifier we need). Wrapped internal modules (names with `__`) are filtered as hidden. Resolution failures yield no completions, not errors. See DESIGN_COMPLETE.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>