Remove the need for a global mutex in freebsd_umtx_sem2_wait/wake().

This change removes the global mutex in freebsd_umtx_sem2_wait() and
freebsd_umtx_sem2_wake() which seems to cause deadlock issues when
a process with threads forks.  Also, this change is more pessimistic
about avoiding deadlock by forcing a call to the kernel more.