Clean up _umtx_op(.., UMTX_OP_NWAKE_PRIVATE, ...) syscall support.

This changes support _umtx_op(.., UMTX_OP_NWAKE_PRIVATE, ...) so
it only has to make one system call (the way NWAKE should work)
instead of a system call for each deferred waiter in the list.
Add missing '#include<sys/socket.h>' needed for FreeBSD 8.

credit: nox@