[GCE] detect-master and detect-minions api calls should specify the zone

Otherwise KUBE_MASTER_IP and KUBE_MINION_IP_ADDRESSES may contain 'external-ip'

    $ detect-master
    Using master: kubernetes-master (external IP: external-ip)'
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
default to build all binaries even if build options given
Merge pull request #1172 from eparis/build-all

default to build all binaries even if build options given
Merge pull request #1174 from eparis/version-shell-overrides

Allow setting of git_commit, version, and dirty via shell varables
Merge pull request #1142 from jbeda/tweak-demo

Improve update demo, support rolling template update
Add support for the PostStart event handler.
Fix up some flaky behavior of the new improved update e2e test.
Merge pull request #1193 from jbeda/fix-e2e

Fix up some flaky behavior of the new improved update e2e test.
api/v1beta1: use go-dockerclient instead of docker-api-structs

This involves updating go-dockerclient and removing the patched code.

Related to #692 and fsouza/go-dockerclient#146.
Improve vagrant hostname support across cluster
Fix label query in e2e basic.sh
Merge pull request #1195 from jbeda/fix-e2e

Fix label query in e2e basic.sh