Fix the confusing naming of CompilerInstance::ModuleManager. This is
actually an instance of ASTReader, which contains an instance of
ModuleManager. I have to assume there was a point in the past where
they were just one class, but it's been pretty confusing for a while. I
think it's time to fix it.
The new name is TheASTReader; the annoying The prefix is so that we
don't shadow the ASTReader class. I tried out ASTRdr but that
seemed less clear, and this choice matches ThePCHContainerOperations
just a couple of declarations below.
Also rename CompilerInstance::getModuleManager and
CompilerInstance::createModuleManager to *ASTReader, making some
cases of getModuleManager().getModuleManager() a little more clear.
I built this on top of https://reviews.llvm.org/D70556 so I don't need to do an annoying rebase later.