getARMCPU and getLLVMArchSuffixForARM existed as very similar functions
in both ToolChain.cpp and Tools.cpp. Create a single implementation of
each in Tools.cpp, eliminate the duplicate and share via Tools.h.
Creates an 'arm' namespace in Tools.h to be used by any ARM-targetting tools.
GetArmArchForMArch and GetArmArchForMCpu seem to do similar things, but
specialised for Darwin. I've opted to leave them alone.
This addresses http://llvm.org/bugs/show_bug.cgi?id=17120, at least in part.
Depends on D2062
It's a little difficult to tell because the patch no longer applies cleanly to trunk, but I suspect this comment has misled you. Darwin *does* take note of -mcpu, and I suspect this patch might disable that.