When using explicit Clang modules, some declarations might unexpectedly become invisible.
This is caused by the mechanism that loads PCM files passed via -fmodule-file=<path> and creates an IdentifierInfo for the module name. The IdentifierInfo creation takes place when the ASTReader is in a weird state, with modules that are loaded but not yet set up properly. This patch delays the creation of IdentifierInfo until the ASTReader is done with reading the PCM.
Note that the -fmodule-file=<name>=<path> form of the argument doesn't suffer from this issue, since it doesn't create IdentifierInfo for the module name.