monopam: lint detects missing-pin opam deps
A runtime dep declared in some monorepo opam file may resolve fine on
the current developer's switch yet fail [opam install] from a fresh
switch, because the dep was installed from a local pin
([_opam/.opam-switch/overlay/<pkg>]) rather than from a public opam
repository. The publish path tripped on this for [tw] (pulled by
[irmin]) and [helix] (pulled by [globe]).
Add a [Missing_pin] kind to [Lint.kind] and a check that flags any
runtime dep that is:
- not provided by any monorepo subtree's opam file,
- not a [conf-*] / known builtin / implicit dep, and
- either currently sitting in [_opam/.opam-switch/overlay/<pkg>] or
absent from the active switch entirely.
Both [pp_table] and [pp_plain] in the lint CLI gain a "Missing pin"
column / "missing pin: ..." line, and the summary string includes
[N missing-pin].