Many build errors in cross-reference-checker have gone unnoticed
because this program was only built to build the manual itself, which
is not part of the CI testing. (The test that it implements needs the
.aux files produces by LaTeX, which we don't really want to produce
during CI runs.)
This commit adds cross-reference-checker to the `tools` target of
manual/Makefile, which is in turn built by the `manual-pregen` target
of the main Makefile, which contains the sanity checks for the manual
that do not require building it, and is part of our CI.
Instead of the current print to stderr. This way it's treated the same
as other warnings: it has a position, colors, can be made an error,
disabled, goes in the expected formatter, is documented.