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).
This chaining is kinda clever but I'm not sure if it's going to be easy to read. ```wait.Poll(time.Second, 10, c.ControllerHasDesiredReplicas(controllerRequest))``` is less cute but perhaps more understandable?