Fix handling of manual flags.
This hopefully addresses issue #2280. The problem was as follows: In the modular solver, manual flags are enforced. However, in order to respect manual choices by the user, which are still allowed, we would first check if one of the two choices had already been disabled, and only if that's not the case, disable the non-default choice. However, a manual user constraint is not the only reason why the default flag choice can be disabled at this point. It can already be disabled in the validation phase, if it's immediately obvious to the solver at this point that it can never work. In such a situation (which is described in #2280), the solver would then fail to respect a manual flag and allow to change it without user intervention. The fix seems simple: we now explicitly check whether the flag choice has been disabled *by the user*, and only then leave it alone. Otherwise, we enforce the manual flag.