Storing information of not yet started builds and start them after master restarting is a great feature.
And I would like to request one more feature in case of master restarting.
Each steps are passed to a buildagent and execution result will be passed to master normally.
But if master is down while the buildagent trying to sent step execution result, the build will be failed.
And it will waste huge time if a build usually take long time and the master suddenly failed.
So it will be great buildagent keep trying to send step execution result to master if master is down and master restores the build if a step execution result is reported from buildagent.
Please check below link from jenkins for more information.
http://jenkins-enterprise.cloudbees.com/docs/user-guide-docs/long-running-build.html#long-running-build-sect-intro