Make wait4(2) and wait6(2) match behaviour of the kernel.

The kernel returns a status, etc. no matter the error that is returned.
Yet another rewrite of freebsd_umtx_sem2_wait/wake().