Binary deploy

This is a big change that'll break everything except GCE and Vagrant.  I wanted to fix everything but it is hard to test and this PR is already way too big.

Basically, we are now building and packaging binaries (built in a Docker container) and using these for the deploy.  This means we are no longer installing golang and building source on the worker machines.

Fixes #1351.

After this gets in I'll spawn new bugs to deal with the following issues:
* [ ] Rationalize `build/` directory with `hack/` directory
* [ ] nsinit install is disabled as there is no binary release or vendoring
* Fix cluster deploy scripts for environments that are dependent on our salt scripts
  * [ ] Azure @jeffmendoza 
  * [ ] VSphere @pietern 
  * [ ] Rackspace @doublerr
  * [ ] oVirt @simon3z 
  * [ ] Local @derekwaynecarr 

You can check out a recent binary release here: http://storage.googleapis.com/kubernetes-releases-56726/devel/kubernetes.tar.gz.
This doesn't work under `set -e`, so it needs to be fixed. But the 3 sets that make shell scripts reliable (well, at least as much as you can get) should always be present.

Full script should be:

```shell
set -o errexit
set -o nounset
set -o pipefail

basedir=$(dirname "$0")
readonly basedir

"${basedir}"/../build/release.sh || {
    echo "Building the release failed!" >&2
    exit 1
}

# Now bring a new cluster up with that release.
"${basedir}"/../cluster/kube-up.sh
```

Same comments apply to `hack/dev-build-and-push.sh`.