The main idea is that the initial variable order and subsequent algorithms applied to it, are now one configuration, and they are applied in one go. This is a step in #378 (closed), towards also adding a new option that can create more complex such configurations, but that can be applied in the same way.
Probably easiest to review per commit, but there is some shuffling involved that in hindsight I could have maybe done in more separate commits.
The variable ordering helper is now always created from the model order. This may change the variable order. For the test models, I checked each change manually, and found it to be different but equivalent. I'm running the benchmark models now, to see if/how it affects them. I'll post a separate comment about it. But the merge request can be reviewed already.
Some other smaller changes, see commit messages of separate commits.