cluster: Improve GCE wait logic
cluster: Improve GCE wait logic

GCE API requests return "operations" which are a better (and more
generic) way for determining when the command has completed than
the previous case-by-case approach. The logic was also changed to simply
wait on one operation at a time rather than trying to keep track of
everything simultaneously.

akshayknarayan/quilt,secant/quilt,PenguinToast/quilt,LuiseV/quilt,NetSys/quilt,PenguinToast/quilt,mmussomele/quilt,tejasmanohar/quilt,secant/quilt,tejasmanohar/quilt,LuiseV/quilt,akshayknarayan/quilt,stevenlin598/quilt,kayousterhout/quilt,kklin/quilt,ZhongtianWang/quilt,NetSys/quilt,LuiseV/quilt,PenguinToast/quilt,mmussomele/quilt,kelda/kelda,NetSys/quilt,stevenlin598/quilt,stevenlin598/quilt,kelda/kelda,kklin/quilt,LuiseV/quilt,quilt/quilt,stevenlin598/quilt,PenguinToast/quilt,quilt/quilt,akshayknarayan/quilt,kklin/kelda,kelda/kelda,secant/quilt,kklin/kelda,kklin/kelda,tejasmanohar/quilt,ejj/quilt-dev,kayousterhout/quilt,PenguinToast/quilt,ejj/quilt-dev,ZhongtianWang/quilt,tejasmanohar/quilt,secant/quilt,ZhongtianWang/quilt,NetSys/quilt,kayousterhout/quilt,ejj/quilt-dev,LuiseV/quilt,kklin/quilt,kayousterhout/quilt,kklin/quilt,kklin/kelda,ZhongtianWang/quilt,mmussomele/quilt,mmussomele/quilt,stevenlin598/quilt,akshayknarayan/quilt,secant/quilt,NetSys/quilt,quilt/quilt,quilt/quilt,mmussomele/quilt,kelda/kelda,stevenlin598/quilt,mmussomele/quilt,ejj/quilt-dev