Sync prompt timeout code with sysupgrade watchdog
Simplify code and employ the same technique in both places.
The "prompt timeout" hits when on non-interactive installations or upgrades:
Welcome to the OpenBSD/amd64 6.9 installation program.
Starting non-interactive mode in 5 seconds...
(I)nstall, (U)pgrade, (A)utoinstall or (S)hell?
Performing non-interactive upgrade...
The existing code uses a regular background job and does quirky file
descriptor fiddling just to avoid job control messages when starting the
timeout in the background.
It also does `set +m' a second time for no reason and hardodes the number of
seconds in multiple places.
Do better by using a co-process just like sysupgrade's watchdog that reboots
when the upgrade did not finish in time.
reads good to aja