Read from the error pipe in a separate thread

If the build process tries to write more bytes than will fit in the pipe
buffer, it will block until the parent process does a read. However, the
parent process will only do a read after the child process has exited or
died, leading to a deadlock. Fix this by doing the read in a separate
thread.
LibreSSL 2.0.5

Update to latest release.

Closes #31458.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
libressl: update 2.0.5 bottle.
MonetDB 11.17.21

Closes #31459.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
monetdb: add 11.17.21 bottle.
doctor: retire Mono warning

We haven't actually had any complaints about this in awhile; it appears
that cmake no longer picks up this specific framework.

Refs #11030.
Better assertions in tab test