This is part of a larger effort to reduce header file footprints. Locally, I have a working copy of LLDB that builds between 30-40% faster than ToT. This is done almost entirely by removing header file includes from other headers where they are not needed. I have focused on the biggest offender, which is the clang headers. In particular, this and other subsequent patches will attempt to stop #including clang headers from other headers except where absolutely necessary. The way this happens in practice is that a class needs to store a ClangASTType. This patch (and the ones that follow) address this by changing by-value inclusion of ClangASTType to an std::unique_ptr<ClangASTType>, and then forward declaring the ClangASTType.
I don't expect this to be too controversial, but I want to throw up this small patch for review first before I take it as a sign that I'm going about this the right way. You probably won't notice much of a difference in build speed by applying this patch, but taken in conjunction with the rest of the patches, the build speed on my local machine is between 30-40% faster depending on the run, and I wasn't even done yet :)