Add a pre-commit hook turning pylint names into doc links

Message symbols and option names were plain text in the documentation and
in the changelog fragments, and nothing kept new ones from staying that
way. Add a hook that turns both into links to the page documenting them.

A message symbol is only linked when it appears bare, because inside an
inline literal it is almost always part of a command line or of a
configuration snippet the reader is meant to copy. An option name is
linked inside an inline literal as well, because there it is a citation
rather than something to copy. Names that read as plain english
('ignore', 'notes', 'reports', ...) are only linked when spelled as a
command line flag: in the documentation they name a regular expression
group, a test attribute or an API parameter about as often as they name
the option.

The documentation itself is converted separately, so that the links land
before this hook has to be perfect.

Refs #10568
5 files changed