Store std::unique_ptr in InMemoryBuffers. NFC.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@215928 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the rececl chain for redeclarations of predefined decls

Predefined decls like 'Protocol' in objc are not loaded from AST files,
so we cannot rely on loading the canonical decl to complete the redecl
chain for redeclarations of these decls.  The broken redecl chain was
non-circular, so looping over redecls() would hang.

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