Remove the SO_LINGER stuff

* SO_LINGER causes issues when closing the connection just after sending
data (the peer will get a connection reset error instead of receiving
the data).
* Since we also set SO_REUSEADDR, there is no risk that TCP ports will
be blocked by existing connections in state TIME_WAIT (This appears to
be the original motivation for setting SO_LINGER).