Teach DeclContext how to find the original namespace decl.

I'm not entirely clear on the reason why clang maintains a "primary" decl, but it sounds like a reasonable thing to do. So we need to be able to retrieve the primary decl for an ObjCNamespaceDecl.

NamespaceDecl (the C++ kind) has a special method for this (getOriginalNamespace()), because it maintains a direct point to its first instance. I'm not sure why it does this, since it also derives from Redeclarable<> (and the special pointer was added in the same revision), though I suppose it might be for performance. There might be a LOT of redeclarations of a given namespace in a single TU, and iterating them all when looking up any symbol would be really damn expensive.

Maybe I should make that optimization for ObjCNamespaceDecl too.