RewriteObjC: Factor string literal creation into a helper and make sure it gets a proper constant array type.

No change in output.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202146 91177308-0d34-0410-b5e6-96231b3b80d8
Sema: When merging objc string literals, give the result a constant array type.

Also assert that we never create non-array string literals again.

PR18939.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202147 91177308-0d34-0410-b5e6-96231b3b80d8
Factor adding sanitizer linker flags into a separate function and make it less OS-specific

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