This MR splits the
req_smp flag into two:
req_ghc_smp so that the testsuite can differentiate between tests that require smp to build vs tests that require smp to run. This came up while working on !9552 (closed), where several tests would unexpectedly pass because the cross compiler is linked with the bootstrapped rts, but the target does not support smp. So the tests would be marked as expected broken, but would still run and still pass.
Marking as draft until CI looks good.