Add support for building Sphinx documentation when being inside LLVM source tree and using CMake

Patch by Daniel Liew <daniel.liew@imperial.ac.uk>!

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@206660 91177308-0d34-0410-b5e6-96231b3b80d8
Fix sphinx-build warnings in clang docs.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@206661 91177308-0d34-0410-b5e6-96231b3b80d8
Don't build modules with (submodules with) missing headers

Unless they are in submodules that aren't available anyway, due to
requirements not being met.  Also, mark children as unavailable when the
parent is.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@206664 91177308-0d34-0410-b5e6-96231b3b80d8
CodeGen: Remove an unused include

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@206667 91177308-0d34-0410-b5e6-96231b3b80d8