Add an option to enable TCP keepalive.

This is only available on go 1.2 onwards. Defaults to being off
and only enabled explicitly.
Merge pull request #118 from Zariel/socket-keepalive

Add an option to enable TCP keepalive.