In compute/base.py, we have a _wait_until_running method that polls launched instances and waits for them to finish coming up and have valid ssh interfaces.
This change does 2 things:
1. Makes that method public. It is currently used by the deploy call but it is generally useful to clients as well. You may want to simply launch instances but have an easy way to tell when they are done launching.
2. Allows multiple nodes to be passed to wait_until_running(). Since this method takes a polling approach, it retrieves the list of all instances each time it polls. From a client perspective, it makes sense to launch multiple nodes and then block until all of them are running.