This makes e.g. ToolChain::isCrossCompiling() in
clang/lib/Driver/ToolChain.cpp return the correct result
if the compiler was cross-compiled. This change also affects
llvm_default_target_triple, so cross-compiled compilers default to
targeting the cross-compilation target, which makes more sense than
the host that the compiler was compiled on.
This change will also be necessary in order for the correct triples
to appear in generated lit files for non-native targets.
Rather than replacing llvm_host_triple with llvm_current_triple, I think we should have both. This is going to be needed in some places, e.g. libc++, libc++abi, and libunwind lit configuration uses the host as well as the target triple, see https://github.com/llvm/llvm-project/blob/master/libcxx/test/lit.site.cfg.in#L18.