Handle libuv calling epoll_ctl() after close().

TSAN errors are reported on epoll_ctl()/dup().  Add a lock around
uv_close() call and uv_accept() calls so that references to the
file descriptor being closed are cleaned up before accept()/dup()
return the same descriptor.
74 jobs for !4185 with 2161-threadsanitizer-data-race-in-dup in 21 minutes (queued for 7 seconds)
merge request