Add TCP socket based health checking.

Yeah, also, this health check is generally happening host-local (from the kubelet to the container) so the chances of anything transient causing the error (e.g. network partition) are basically zero.