Do the dry run pass. This is a prerequisite of rebuildTargets.
It gives us the BuildStatusMap. This should be used with improveInstallPlanWithUpToDatePackages to give an improved version of the ElaboratedInstallPlan with packages switched to the Installed state when we find that they're already up to date.