add http health checks.

@bgrant0607 I think it is. Normally, most go functions are synchronous and we could always start a new goroutine if we want async.