fix: resolve send() on 'finish' instead of 'close'
Fixes #18
'close' requires both sides to send FIN (full bidirectional TCP close).
In Linux namespace containers, the server's automatic FIN via
allowHalfOpen: false is unreliable, causing send() to hang until timeout.
'finish' fires when socket.end() has been flushed to the OS kernel,
which is sufficient for Unix domain sockets.