[modules] Fix a #include cycle when building a module for our builtin headers.
xmmintrin.h includes emmintrin.h and vice versa if SSE2 is enabled. We break
this cycle for a modules build, and instead make the xmmintrin.h module
re-export the immintrin.h module. Also included is a fix for an assert in the
serialization code if a module exports another module that was declared later
in the same module map.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@237321
91177308-0d34-0410-b5e6-
96231b3b80d8