Allow completing a redeclaration check for anonymous structs/unions
inside RecordDecl, so we deserialize and compare anonymous entities
from different modules.
Completing the redeclaration chain for RecordDecl in
ASTContext::getASTRecordLayout mimics the behavior in
CXXRecordDecl::dataPtr. Instead of completing the redeclaration chain
every time we request a definition, do that right before we need a
complete definition in ASTContext::getASTRecordLayout.
Such code is required only for anonymous RecordDecl because we
deserialize named decls when we look them up by name. But it doesn't
work for anonymous decls as they don't have a name. That's why need to
force deserialization of anonymous decls in a different way.
rdar://81864186