feat: socket poll support — wire ksocket_poll into sock_fops
poll()/select() now works correctly on socket file descriptors.
- socket.c: added ksocket_poll() that checks socket readiness based
on state (CONNECTED/LISTENING/PEER_CLOSED), rx_count, aq_count,
and error flag; returns VFS_POLL_IN/OUT/ERR/HUP as appropriate
- socket.h: declared ksocket_poll()
- syscall.c: added sock_node_poll() wrapper and wired .poll into
sock_fops — sockets now participate in the generic f_ops->poll
dispatch path in poll_wait_kfds
Previously socket fds in poll/select silently reported ready via
the fallback path. Now they report actual readiness.