Solver flag handling fixes

These are two changes fixing a clear bug in the modular dependency solver (#1855).

Both changes could cause backjumping information to be calculated incorrectly, in turn leading to backjumps that are jumping too far, discarding unsearched parts of the search space that might still contain valid solutions. The problem was observed by having occurrences where `--reorder-goals` would lead to a solution, but `--max-backjumps=-1` would not.

It's possible that the fix in the Builder affects other install plans, because it can theoretically affect the order in which goals are chosen.

If no unforeseen problems arise, we might want to merge this to the 1.20 branch and re-release. I've tested that these changes work on top of 1.20, too.