Make it easier to run testsuite with a custom toolchain.
The optimization added in #9206 to circumvent the rustup wrapper for rustc had a bad interaction when using a custom toolchain (like `cargo +stage1 test`). It was using the `rustc` from where `cargo` is located, but custom toolchains often don't have cargo. This would instead use the nightly rustc (due to rustup's [fallback](https://github.com/rust-lang/rustup/blob/
eaee3e723cd44b4b968b79b0ec2e8f766f1dfc77/src/config.rs#L942-L975)). This changes it to query rustup directly to ask it where the overridden rustc is located.