loader: suggest to set crate type explicitly

Now loader suggests to set crate type explicitly if it founds file with
name similar to crate name, but different extension.

This commit adds warning if loader found static library instead of rlib
or dylib.
Closes #14416.
In this case we actually try to defer warnings such as this until the loading of the crate has failed entirely. It could be the case that a library is compiled as both an rlib and a staticlib, in which case this could end up just being a spurious warning.

Could this modify `report_load_errs` instead? You'll want to sort of flag some logic here to modify some internal state about the libs that were found as staticlibs, but the actual warnings/notes should be printed out at the end.

Also, can you add a test for this? It would likely be a `run-make` test in the `src/test/run-make` folder.