(Re)generate the build version when preparing a release.

If hack/build-go.sh has never been run before release/build-release.sh
the subsequent build will fail. Also, when preparing builds the
version should be forced to be up to date with the current checkout.
Make storage.Delete return *api.Status instead of api.Status
as apiserver.APIServer.finishReq expects.

This solves the warning in finishReq:
"programmer error: use *api.Status as a result, not api.Status."
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
Proposed roadmap to 1.0
Correct confusing comment.
Merge pull request #854 from lavalamp/fix

Correct confusing comment.
Merge pull request #838 from thockin/roadmap

Proposed roadmap to 1.0
Merge pull request #847 from thockin/health

Use IntOrString for health checks
Merge pull request #839 from yugui/fix/api-status

Make storage.Delete return *api.Status instead of api.Status
Breakup the registry package into separate packages.

Currently all registry implementations live in a single package,
which makes it bit harder to maintain. The different registry
implementations do not follow the same coding style and naming
conventions, which makes the code harder to read.

Breakup the registry package into smaller packages based on
the registry implementation. Refactor the registry packages
to follow a similar coding style and naming convention.

This patch does not introduce any changes in behavior.
Make proxy/config/etcd.go less verbose when etcd is not available
Check for dirty files is not accurate

grep '^M' was not returning anything. In general diff-index and
ls-files are preferred to status --porcelain.
Merge pull request #826 from smarterclayton/git_check_wrong

Check for dirty files is not accurate
Merge pull request #848 from kelseyhightower/breakup-registry-package

Breakup the registry package into separate packages.
Do not always look for latest pkg
Merge pull request #843 from bwells/version-releases

(Re)generate the build version when preparing a release