DRAFT: Versioning Kubernetes

This will use git tags as base of versions for Kubernetes.

** THIS REQUIRES ANNOTATED GIT TAGS TO WORK **

A build using hack/build-go.sh will get the info from git and include it
as ldflags so it will overwrite the info in pkg/version/baseversion.go.

A build using go native tools (e.g. go build, go get, godep) will use
the values in pkg/version/baseversion.go which should be an
approximation of the actual release. Those values will also be used when
building from a tarball such as the one built by github when getting an
"archive" from them.

Tested:
- Create an annotated tag:
  $ git tag -a v0.1-bogus 693051c1ca072474529927b77affb6e202826f7d -m 'Fake v0.1 for testing this change'

- Build using hack/build-go.sh:
  $ hack/build-go.sh
  $ output/go/bin/kubelet -version
  Kubernetes v0.1-bogus-12-g5f40e3308f1c, build 5f40e3308f1ca4ab0429f0bf07a4b603619ae234 (dirty)

- Build using go build:
  $ rm -rf output/
  $ bash hack/config-go.sh   # for the symlink in output/
  $ GOPATH=${PWD}/output/go:${PWD}/Godeps/_workspace go build github.com/GoogleCloudPlatform/kubernetes/cmd/kubelet
  $ ./kubelet -version
  Kubernetes v0.2-dev (not-a-git-tree)

- Build using go get:
  # I need to prefetch the tree to replace the official tree with mine:
  $ GOPATH=${TMPDIR}/gopath go get -d github.com/filbranden/kubernetes/cmd/kubelet
  $ rm -rf ${TMPDIR}/gopath/src/github.com/GoogleCloudPlatform
  $ ln -sf filbranden ${TMPDIR}/gopath/src/github.com/GoogleCloudPlatform
  # Now run go get again to build:
  $ GOPATH=${TMPDIR}/gopath go get github.com/filbranden/kubernetes/cmd/kubelet
  $ ${TMPDIR}/gopath/bin/kubelet -version
  Kubernetes v0.2-dev (not-a-git-tree)

- Build using godep: (TODO: I can't seem to be able to make this work...)
  $ godep go install cmd/kubelet
  can't load package: package cmd/kubelet: open .../golang/src/cmd/kubelet: no such file or directory
  godep: go exit status 1