[Zookeeper] Enable TCP keepAlive flag on the sockets (#12982)
[Zookeeper] Enable TCP keepAlive flag on the sockets (#12982)

* Specify -Dzookeeper.tcpKeepAlive=true in default options for Zookeeper

- see https://issues.apache.org/jira/browse/ZOOKEEPER-1748 for details
  - "Setting this to true sets the TCP keepAlive flag on the sockets used by
     quorum members to perform elections. This will allow for connections between
     quorum members to remain up when there is network infrastructure that may
     otherwise break them.
     Some NATs and firewalls may terminate or lose state for long running
     or idle connections."

* Enable TCP keepalive for on Zookeeper server for client connections

ZOOKEEPER-3712
"Some broken network infrastructure may lose the FIN packet that is sent from closing client.
 These never closed client sockets cause OS resource leak. Enabling this option terminates
 these zombie sockets by idle check. ... Currently this option is only available
 when default NIOServerCnxnFactory is used."
massakam/pulsar,yahoo/pulsar,merlimat/pulsar,yahoo/pulsar,yahoo/pulsar,merlimat/pulsar,yahoo/pulsar,yahoo/pulsar,merlimat/pulsar,massakam/pulsar,massakam/pulsar,massakam/pulsar,merlimat/pulsar,merlimat/pulsar,massakam/pulsar,merlimat/pulsar,yahoo/pulsar,massakam/pulsar