Test driver: Implement different verbosities

Select verbosity with "make VERBOSE=n". Options so far:
 n=0: No per-test output
 n=1: Only failing test results
 n=2: As above, plus progress information (names of all tests)
 n=3: As aobve, plus commands called.
Default currently is n=3, although n=2 might be a nicer default.
Test Trac #8280
Test Trac #8129
test Trac #7800
Test Trac #8333
Typos
T7574 is now passing (#7574)
linker_unload is now passing (#8192)
Wibble after #8218

The new hidden line in output of tcfail181 is

instance Monad m => Monad (Control.Applicative.WrappedMonad m).

It might seem weird that Control.Applicative is suggested when
not imported, but it's almost certainly a side-effect of AMP and
it's harmless.
Driver: Fix % operator typo
Add some tests for type-level subtraction.
Fix T8132

A tiny bit of fallout from the TypeRep changes with a simple fix: we
don't export typeRep# from Data.Typeable anymore, only
Data.Typeable.Internal

Signed-off-by: Austin Seipp <austin@well-typed.com>
Fix T8333 (#8333)
Test Trac #8377

Signed-off-by: Austin Seipp <austin@well-typed.com>
Fix fallout from making lazy unlifted bindings an error

Issue #8022

Signed-off-by: Austin Seipp <austin@well-typed.com>
Deal with failures for T367, T367_letnoescape under ghci

These tests had a very short timeout (0.3 s). With WAY=ghci,
the time ghci takes to start up and compile the test modules
is counted in this timeout, and that causes the tests to fail.

T367 really needs the very short timeout, so this commit disables
the ghci way for T367. T367_letnoescape can handle any timeout,
so I bumped up the timeout to 6 s to give ghci time to start up.
Update compareAndSwap for new comparison primops
Mark T7881 as expected failure for WAY=hpc (#8384)
Update spec001 for new Typeable, and disable AMP warning

I'd like to just "import Prelude hiding (..., join)", but the
patch to make that turn off the warning hasn't been merged yet.
Update prog001 output (see #7633)