rustc: Fail if LLVM is passed an invalid triple

This changes create_target_machine to correctly return a Result (Since
the underlying LLVM function can fail and return NULL)

There's an underlying issue that our build infra doesn't stop you from
getting to this point, but this at least turns a segfault into an ICE.
This also seems easy enough to turn the ICE into a normal compiler error via the call to `fatal` in `llvm_err`, so could a test be added for this as well?