This changes `PdbAstBuilder` to a language-neutral abstract interface and moves all of its functionality to the `PdbAstBuilderClang` derived class. All Clang-specific methods with external callers are now public methods on `PdbAstBuilderClang`. `TypeSystemClang` and `UdtRecordCompleter` use `PdbAstBuilderClang` directly. Did my best to clean up includes and unused methods. RFC for context: https://discourse.llvm.org/t/rfc-lldb-make-pdbastbuilder-language-agnostic/89117