Recommit 213308: unique_ptr-ify ownership of ASTConsumers (reverted in r213324)

After post-commit review and community discussion, this seems like a
reasonable direction to continue, making ownership semantics explicit in
the source using the type system.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215324 91177308-0d34-0410-b5e6-96231b3b80d8