[libc] add remaining epoll functions, pipe (#84587)

The epoll_wait functions need the rest of the epoll functions (create,
ctl) to be available to actually test them, as well as pipe to create a
usable file descriptor. This patch adds epoll_create, epoll_create1,
epoll_ctl, and pipe. These have tests, and the tests for epoll_wait,
epoll_pwait, and epoll_pwait2 (currently disabled) are updated to use
these newly available functions.

GitOrigin-RevId: 5fb821560afd0543e4875c3c81d58f68f73eb03b
38 files changed