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 may want to instead leverage the `llvm_err` method at the top of this file just to ensure we're not duplicating logic with `LLVMRustGetLastError`