Let libc++abi compile with gcc.
Let libc++abi compile with gcc.

There was a single problem in cxa_demangle.cpp, where gcc would complain
`error: changes meaning of 'String'` about the line `typedef String String;`.
According to 3.3.7p2, this diagnostic is allowed (but not required, so clang
does not have to report this).

As a fix, make string_pair a template and pass String as template parameter.
This fixes the error with gcc and also removes some repetition from the code. 

No behavior change.


git-svn-id: 6a9f6578bdee8d959f0ed58970538b4ab6004734@209909 91177308-0d34-0410-b5e6-96231b3b80d8

llvm-mirror/libcxxabi,llvm-mirror/libcxxabi,llvm-mirror/libcxxabi,llvm-mirror/libcxxabi,llvm-mirror/libcxxabi