SCTX-1649: Set SO_KEEPALIVE on server sockets

This ensures that a TCP connection is cleaned up on the server, when the
connection is closed on the client without the server knowing (for example, if
a FIN packet is not sent or went missing).

This does not affect idle connections, or long-running XenAPI calls.

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>