Implement the previously throwing Request.signal getter on Node server
requests. Each request has a stable signal that aborts on a premature upload
or response disconnect, including while a handler waits after reading the
body. Normal body consumption and response completion do not abort it;
lifecycle listeners are removed on completion or cancellation.
Pending Node WebSocket handshakes expose a usable request signal until
rejection completes or a successful upgrade hands ownership to the socket.
Bun and Deno retain their native request signals. Deno may defer cancellation
of interrupted uploads until the handler returns, despite the body read
already rejecting; its legacy behavior may also abort after normal response
completion. See the README for the request-lifetime contract and limitations.