Use IntOrString for HTTP health check ports

Clean up code to be more testable.  Add test cases for named and numeric
ports in HTTP health checks.  Improve tests.
Use IntOrString for TCP health check ports

Clean up code to be more testable.  Add test cases for named and numeric
ports in TCP health checks.  Improve tests.
Move HTTP code out of health.go

Put it with the related HTTP code.
Split health_check.go into smaller parts.

Distinct files for core, http, and tcp.
Reduce and comment exports
Merge pull request #847 from thockin/health

Use IntOrString for health checks