Fix confused use of llvm::StringSwitch for armv7r architecture.

svn 170909 added support for cortex-r5 but in this case it was done
incorrectly. The last argument to StringSwitch.Cases() is the replacement
value, so by adding "cortex-r5" it changed the default cpu for armv7r to
cortex-r5 instead of cortex-r4.
Tidy up lists of Cortex-A series processors, adding entries for A7.

Also fix a missing entry for cortex-r5 in one copy of getLLVMArchSuffixForARM.
Add ARM v6m, v7m, and v7em architectures for Cortex-M series processors.

<rdar://problem/11314476>