Add support for KEEPALIVE

This allows the KEEPALIVE option to be enabled on the job server
socket. It can be further customized by setting the TCP_KEEPIDLE,
TCP_KEEPCNT, and TCP_KEEPINTVL socket options. Using these options
requires using the dictionary style connection definitions, similar
to setting SSL options. Example:

  conn = {
    'host': localhost, 'port': 4730,
    'keepalive': True, 'keepidle': 7200, 'keepcnt': 9, 'keepintvl': 75
  }
  client = GearmanClient([conn])