[Modules] Avoid false swift module sharing
When the swiftmodule is built with different clang importer arguments, they can have the same module hash, causing them to be wrongly re-used even they contains different interfaces. Add ReducedExtraArgs to the module hash to disambiguate them.
However, some Xcc arguments, most commonly -D options do not affect the
swiftmodule being generated. Do not pass -Xcc -DARGS to swift
interface compilation to reduce the amount of module variants in the
build.
rdar://131408266
@swift-ci please smoke test
@swift-ci please smoke test
@swift-ci please smoke test
@swift-ci please smoke test