add http health checks.

Ideally the same json name would be accepted as int or string and unmarshalled into PortName or PortNum fields.  I don't know if Go can do that.  I find it very inconsistent that sometimes port is an int and sometimes a string in the json.

We could write a PortNameOrNum type that had custom JSON and YAML unmarshalling code to do this.  This sounds best to me.