When reseting modular options, propagate the values from certain options
that have ImpliedBy relations instead of setting to the default. Also,
verify in clang-scan-deps that the command line produced round trips
exactly.
Ideally we would automatically derive the set of options that need this
kind of propagation, but for now there aren't very many impacted.
The logic is getting a bit complicated here. I think it'd be good to break down what the CheckAgainstOriginalInvocation flag does. Feel free to come up with your own description.