MS ABI: Add tests, other cleanups for r204562

This commit cleans up a few accidents:
- Do not rely on the order in which StringLiteral lays out bytes.
- Use a more efficient mechanism for handling so-called
  "special-mappings" when mangling string literals.
- There is no need to allocate a copy of the mangled name.
- Add the test written for r204562.

Thanks to Richard Smith for pointing these out!

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@204586 91177308-0d34-0410-b5e6-96231b3b80d8
CodeGen: Remove unneeded directives

Use two check-prefix patterns per FileCheck invocation for these tests,
this cleanly removes redundant CHECK directives.

Thanks to Richard Smith for the idea!

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@204587 91177308-0d34-0410-b5e6-96231b3b80d8
Driver: Fix a typo in a command line description

Thanks to Richard Smith for catching this!

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