ObjCInterfaceDecls and ObjCProtocolDecls currently have a flag that indicates whether they
need to query the ExternalASTSource to complete their redeclaration chain. This flag is currently
only set when LangOpts.Modules == true. The idea behind that seems to be that only with
LangOpts.Modules == true we have a chance to find a definition for an existing declaration via the
ExternalASTSource, so we optimize the non-modules case by avoiding the work of looking for an
external definition.
The idea that LangOpts.Modules implies that the ExternalASTSource can provide a definition
doesn't work within LLDB where we are not always setting the Modules flag but we always have an
ExternalASTSource that can complete the redeclaration chain (and provide a definition).
This patch sets the flag whenever we have any valid ExternalASTSource so that the ExternalASTSource
in LLDB is also queried for definitions. In Clang this patch maintains the current behaviour for parsing
with enabled and disabled modules. The only behaviour change in Clang is that we now also query the
ExternalASTSource for Obj-C interface/protocol definitions when using (chained) PCHs.