imtcp: add options to configure keep-alive params

New options:        (legacy counterparts)
keepalive.time      $inputtcpserverkeepalive_time
keepalive.probes    $inputtcpserverkeepalive_probes
keepalive.interval  $inputtcpserverkeepalive_interval

The options are set separately for each instance.

This patch bumps the interface version of the nsd,
netstrm and tcpsrv modules.

Part of this code is inspired by imptcp.

At first, I've tried to avoid changing the existing interface by adding a new one specifically for these parameters, but there doesn't seem to be a clean way of passing the information between the layers; either the lower-layer object doesn't exist yet, or, after it is created, the higher-level information is not reachable.

One other change is that the params are stored at the lowes level (nsd) and they are applied immediately after socket creation. This should also make the method EnableKeepAlive() unnecessary (as a public interface).