Plug memory leaks.

Most of the changes are mechanic std::unique_ptr insertions. All leaks were
detected by LeakSanitizer.

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