The context hash of modular dependencies can be different from the context hash of the original translation unit if we modify their CompilerInvocations.
Stop assuming the TU's context hash everywhere.
No functionality change here, since we're still currently using the unmodified TU CompilerInvocation to compute the context hash.
Computing the context hash might be expensive now, so use const Module * instead.