Unified logic for computing target ABI in backend and front end by moving this common code to Support/TargetParser.
Modeled Triple::GNU after front end code (aapcs abi) and updated tests that expect apcs abi.
Removed assertion in backend to avoid different compiler behavior due to build mode.
Depends on LLVM change in https://reviews.llvm.org/D34424.