Clients must wait for completion of actions

Makes the server return for pods and replication controllers when the object is *accepted* by the apiserver and persisted, rather than when all the consequences of its creation are relevant as per #353.  This adds a very simple core "condition / wait" logic to the client that can be used to wait for things to happen.  It does not change kubecfg to wait (and so the README was altered to communicate that waits might be necessary), and the replication controller now returns much more quickly in its loop (since it's not waiting for pods to go to running status).
I'm confused-- `break DRAIN` should cause the for loop to start over. `continue` should do the same thing, but it doesn't require a label. I feel like ```break <label>``` should be reserved for cases where you need to break out of multiple loops? /nit