Add a linux_futex syscall that doesn't modify errno
This fixes some crashes due to accessing errno (which is per-thread)
after the thread had already been terminated. This was due to us having
to unguard an FD when a thread dies, which requires us to take a lock.