Unlocking of mutexes that are waited on should force thread yielding.
Imported from https://youtrack.roxen.com/issue/PIKE-12
Reported by @grubba
Currently when a mutex is unlocked, the underlying condvar is signaled, but no thread yield is forced. This means that the current thread may relock the mutex without the waiting thread getting to run, leading to starvation of the waiting thread.