Change rebuildInstallPlan to return pre-improvement plan
It takes a solver plan, makes an "elaborated plan" with nix style hashes but still of mostly source package and then does an improvement phase to make a plan with pre-existing packages from the store. Previously it only returned the improved plan, but for some things it's also useful to see the original elaborated plan with the source packages. In partciular it will be useful for plan.json status output. It will also be needed for the freeze command to be able to get at the flag choices, since this info is not preserved in installed packages.