tests: add basic test coverage for stable `--crate-type` flag
I experimented locally with making the compiler panic if multiple crate types are passed to a single `--crate-type` flag, and it turns out not only does the compiler successfully bootstrap, only two ui tests failed:
```
failures:
[ui] tests/ui/sepcomp/sepcomp-lib.rs
[ui] tests/ui/sepcomp/sepcomp-lib-lto.rs
test result: FAILED. 4 passed; 2 failed; 18181 ignored; 0 measured; 0 filtered out; finished in 364.55ms
```
These are not specific tests for the `--crate-type` flag, only their auxiliary *happens* to use a `--crate-type` with two crate types:
```rs
//@ compile-flags: -C codegen-units=3 --crate-type=rlib,dylib -g
```
I was not able to find a specific test in run-make test suite either.
So this PR tries to add some basic test coverage for the stable `--crate-type` flag's interface (including to check that `--crate-type` accepts multiple crate types), since I imagine it might be slightly awkward if we accidentally regressed this.
r? compiler