This would assist in scenarios where a build plan might take 4 - 5 hours to complete, and a step towards the end fails. We need the ability to restart an individual step so that we don't have to re-run the first 4 hours of build.
This really means that in addition to the "failure steps", "success steps", "final steps" we discussed in IRC, we probably also need "start steps"; that is, steps that run when the build is started, and when any build step is restarted. This is where you would place "Allocate Host" build steps, so that when you run the steps that failed, they have the required host resources.