Strive for usable core dumps.

Noits are busy, they have much to do. When they crash, the parent will
run a glider if configured against the child and then "wait" for it to
finish crashing.  The default wait time is 5 second and can be configured
via the WATCHDOG_TIMEOUT environment variable.  However, we somteime see
(on heavy instances) a 10 minute core dump time.  This poses a serious issue.

Even if the timeout is set that high, the binary will have open descriptors
and locks that prevent another to be launched in its place.  The whole point
of the timeout is to make sure we're not out-of-service for too long.

This commit provides a new option (and new default) where (at least on
Illumos) the child will suspend peer threads and close fds to allow the dump
to happen asynchronously to the parent starting a new replacement process.
It can be disabled by setting ASYNCH_CORE_DUMP=0 in the environment.

Linux support should be added.