Add an example to test implementation.
Teach the lexer about @namespace.
Tell the AST that @namespace is redeclarable.
Teach the indexer about @namespace.
Start parsing and acting on @namespace decls.

Parser::ParseObjCAtDirectives() now picks up tok::objc_namespace tokens and forwards them to Parser::ParseObjCAtNamespaceDeclaration(). This function consumes the following identifier token (or produces an error if the next token isn't an identifier) and passes it off to Sema::ActOnStartObjCNamespace().

ActOnStartObjCNamespace() is mostly cribbed from the top of Sema::ActOnStartClassInterface(). It looks for a previous decl with the same name, creates a new namespace declaration chained to it, if found (or produces an error if it isn't a namespace delcaration), and then calls PushObjCNamespaceDecl() to make it the current context.

Source files containing @namespace now crash clang because DeclContext::getPrimaryContext() can't handle ObjC namespace decls.

There are also a whole bunch of TODOs.