Move the DiagnosticRenderer and its dependents to using FullSourceLocs
instead of a SourceLocation and SourceManager pointer. The changeset is
rather large but entirely mechanical.
This is step one to allow DiagnosticRenderer to take either
llvm::SMLocs or clang::SourceLocations.
SrcMgr is only non-null when the location is invalid, right? Can you do something like:
bool hasManager() const { bool R = SrcMgr != nullptr; assert(R == isValid() && "FullSourceLoc has location but no manager"); return R; }