feat: implement POSIX Tiers 1-5 — complete ulibc headers, syscalls, and sync primitives
Tier 1: Add ENOTSOCK/ENETUNREACH errno codes (kernel + ulibc)
Tier 2: 13 new ulibc wrapper headers + source files:
- sys/socket.h, netinet/in.h, arpa/inet.h, netdb.h, sys/un.h
- sys/epoll.h, sys/inotify.h, dlfcn.h, spawn.h
- semaphore.h, mqueue.h, aio.h, sys/shm.h
- All with syscall wrappers matching kernel syscall numbers
Tier 3: Missing functions in existing headers:
- termios: cfmakeraw, cfget/setispeed, tcdrain, tcflush, tcgetpgrp/tcsetpgrp
- string: strsignal
- stdlib: bsearch, div/ldiv, mkstemp, strtod/strtof
- stdio: scanf, fscanf, tmpfile, tmpnam
- unistd: execle, getlogin, confstr, sbrk, link/symlink/readlink wrappers
- New syslog.h stub (openlog/syslog/closelog)
Tier 4: Kernel syscalls:
- umount2 (SYSCALL_UMOUNT2=138) with vfs_umount in fs.c
- wait4 (SYSCALL_WAIT4=139) wrapping process_waitpid + rusage
Tier 5: Medium implementations:
- glob.h/wordexp.h with directory walk + fnmatch pattern matching
- pthread_mutex/cond/rwlock/key/once/barrier (futex-based)
- /etc/passwd + /etc/group file parsing with static root fallback
Build: make clean && make OK, cppcheck clean, 101/101 smoke tests pass