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 
Also we _definitely_ want to check the error first before we check the status, because if the err != nil , then the status is basically garbage anyway.