Fix a wrong explaining text about running command to create replication controller.
Include `-dirty` suffix in version info when building on a dirty tree

Ensure the output of `git describe` will include the `-dirty` suffix
when building on a tree with modified files in it.

Tested:
- ...

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Set gitMajor and gitMinor from hack/build-go.sh

Set the values of major and minor version based on the output of the
`git describe` command, which uses annotated tags as source of
versioning information.

Minor will get a "+" appended whenever the annotated tag does not match
the tree exactly (including when the tree is dirty.) So that only
official releases will have a "bare" minor version, all others will have
a "+" to indicate the binaries contain changes from the released version
in minor.

(This is similar to how versions of development builds of the Linux
kernel work.)

Tested:
- With no annotated tags:
  $ hack/build-go.sh
  $ _output/go/bin/kubecfg -version=raw
  version.Info{Major:"0", Minor:"1+", GitVersion:"v0.1+", GitCommit:"7d29873bdee87efacaace30ab3602297cacf1b4f", GitTreeState:"clean"}

- Tagging current version on a clean git tree:
  $ git tag -a -m 'Test tag v2.3' v2.3
  $ hack/build-go.sh
  $ _output/go/bin/kubecfg -version=raw
  version.Info{Major:"2", Minor:"3", GitVersion:"v2.3", GitCommit:"7d29873bdee87efacaace30ab3602297cacf1b4f", GitTreeState:"clean"}

- Tagging current version on a dirty git tree:
  $ git tag -a -m 'Test tag v2.3' v2.3
  $ touch test.txt  # this is enough to mark the tree as dirty
  $ hack/build-go.sh
  $ _output/go/bin/kubecfg -version=raw
  version.Info{Major:"2", Minor:"3+", GitVersion:"v2.3-dirty", GitCommit:"7d29873bdee87efacaace30ab3602297cacf1b4f", GitTreeState:"dirty"}

- Tagging a previous version on a clean tree:
  $ git tag -a -m 'Test tag v2.3' v2.3 HEAD~5
  $ hack/build-go.sh
  $ _output/go/bin/kubecfg -version=raw
  version.Info{Major:"2", Minor:"3+", GitVersion:"v2.3-6-g7d29873bdee87e", GitCommit:"7d29873bdee87efacaace30ab3602297cacf1b4f", GitTreeState:"clean"}

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
workaround lack of jinja2.7 support
add sanity checking steps and fix KUBE_MASTER_IP
switch kubelets to connect to etcd on cloud network

Previously we were connecting across the public interfaces. This will connect across eth2 and send communication over a private network.
Merge pull request #1122 from filbranden/version_major_minor1

Push major and minor versions from git
Merge pull request #1124 from soundTricker/master

Fix a wrong explaining text about running command to create replication controllers.
Merge pull request #1120 from doublerr/rackspace/fix_salt_apiserver

Rackspace: fix apiserver salt config
Fixup name vs ID terminology
Merge pull request #1137 from derekwaynecarr/name_vs_id_fixup

Fixup name vs ID terminology
Simplify labels for `kubecfg run`

We created a name=<controller name> label on each object we created.  This was confusing.  Instead, piggyback on `replicationController` label and use that as the selector.
Add template update to rollingUpdate
Pretty up the demo a little.

Use images and some better formatting.  Also add scripts to help prevent typos.

This based on an improved version done by Julia Ferraioli.  She came up with the cool images.
Fix/expand kubecfg unit tests
Add containerPort to services in guestbook example
Use KUBECFG instead of CLOUDCFG in scripts
Fix up e2e test for update demo.

Use the scripts that are in the example directory.  Also actually run the update as part of the test.
Improve 'Usage' for kubecfg