Noisy hadrian output on windows with tool-not-found messages.
## Summary
In commit d6d76a7affdd3dc7a3f0713d821d4f7a618d7511 changes where introduced to throw an exception(?) if certain optional tools where not found.
On windows this results in a large amount of confusing output printing messages like:
`x86_64-unknown-mingw32-llc-22 not found in search path` `llvm-dlltool-22 not found in search path`
And there are hundreds of them. Further the logic of the check seems dubious. I *have* llvm-dlltool installed but on msys it's installed as just `llvm-dlltool`.
```
$ which llvm-dlltool.exe
/clang64/bin/llvm-dlltool.exe
```
I'm not very familiar with the exact logic involved but I think the best thing would be to:
* At least on windows also check for the non-versioned name on path. llvm-dlltool doesn't support a --version argument, but assuming it's from the llvm package we can use `opt --version` from path as standin. But we need to check they are from the same package.
* One message per tool for `tool-X` not found if it can't be found at all.
* This message should probably include the versions checked for.
@DavidEichmann as you implemented the commit in question.
## Environment
* GHC version used: HEAD
Optional:
* Operating System: Win
issue