(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."
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
Merge pull request #868 from derekwaynecarr/do_not_always_install_latest

Do not always look for latest pkg on salt-updates
Fix nsinit on Vagrant
Fix flaky TestOpGet and TestSyncCreateTimeout
Merge pull request #870 from derekwaynecarr/fix_nsinit_sls

Fix nsinit on Vagrant
Merge pull request #858 from lavalamp/fix

Fix flaky TestOpGet
Fix kubecfg.sh
Merge pull request #872 from brendandburns/kubecfg

LGTM
Fix verification scripts to actually look at all go files.
Fix files missing gofmt
Fix go files with wrong boilerplate