Add TCP socket based health checking.

Yeah, I'd prefer to defer that to a later PR.