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).
Yeah, I think by just taking the ConditionFunc as a parameter here you can lose the channel and this while will be much shorter and simpler.