Review fixes for the legacy coverage proof:
- A title declared only with test.skip, .fixme or .fail no longer proves a
row (.only and .slow still do).
- Every covered row names its native control, except the rows in
CONTROL_EXEMPTIONS, each with its reason (today only the gallery per-image
auto-tag row, owned by the Images selection bar). The browser test asserts
that the covered rows without a control are exactly the exemptions.
- JavaScript comments are stripped across the whole source, wherever a block
comment starts, skipping strings, template literals and regular
expressions. A Python def test_ counts only at function or method
indentation and outside comments and docstrings.
- A control name several rows share ("Review plan", "Review options",
"Refresh") is looked up inside the row the table names (· in "<row>").
- The diagnostics comparison records each select's chosen option, so a wrong
default level is caught.
Part of #329