AST library. This also adds infrastructure for supporting multiple C++ ABIs in the AST. llvm-svn: 111117