Modify kube-push for GCE to bring down the existing master VM and
completely replace it with a new one. This makes upgrades less likely
to break in weird ways and adds support for easily upgrading underlying
components on the master like the guest OS or etcd.

To do this, I reserve the IP address of the master after it's created
and store all dynamically created files on a persistent disk (PD). Then,
kube-push consists of swapping the PD and reserved IP address over to a
new VM with the desired components on it.

This has been tested to pass the /validate endpoint after upgrading
between a few different recent commit versions.