Return node unhealthy if http request fails

If health check cannot talk to kubelet (http connection fail, instead of 500 code), it will return a connection fail instead of Unhealth status. Part of #2192

@lavalamp 
I think it is wired to check the returned value before checking the error.
Sometimes it is reasonable to return a raw error along with a predefined unknown status, since you might want to log the reason of the error(bad net? bad id?) instead of letting the checker swallow that.

In this specific case, we log all the non net io errors in the checker but return the net io error to the caller.
https://github.com/GoogleCloudPlatform/kubernetes/blob/9177458ad8e41178e1ba9912f850711bef031d0f/pkg/health/http.go#L97

https://github.com/GoogleCloudPlatform/kubernetes/blob/9177458ad8e41178e1ba9912f850711bef031d0f/pkg/health/tcp.go#L66