The `ensure_current_master` would be called from `run_cruise` where appropriate.

From a 50,000 foot view, what makes all of this tough is that `configure` is routinely run on the laptop and during deployments, whereas `run_cruise` is only run on Jenkins.  It seems to me that the overlap should be minimized, maybe by going through the `configure` scripts and having them call the libraries we've been developing.

The net effect is that neither `run_cruise`, nor `configure` would actually do anything themselves; rather they would delegate the actual tasks to our libraries.  As we would do this, we would (hopefully) discover the functional areas of commonality and refine around those.  Does that make sense?

If you'd be interested, I'd like to hash this out further; this needs multiple heads.