Update T3279 to use mask rather than block

I'm not 100% sure that this is still testing what it's meant to be
testing, but the test still passes.
Update a couple of tests to use mask rather than block/unblock
Update a few more tests to use mask rather than block/unblock
Follow the removal of blocked in base
Revert "Update T3279 to use mask rather than block"

This reverts commit a6d80ce5fb2211af8dafc425705fefb316702802.
use unsafeUnmask instead of an IORef containing restore

This is much closer to how the test originally worked, so it's more
likely that the test is still testing what it was testing before :-)
small tidyup
The "unblock" was important here

Because catch implicitly masks the exception handler.
Test #7710
Add a test for #7671
Add a test for #6037
Update outputs following the unicode quote change in GHC's output
Fix line endings in Defer02.stderr
Accept Defer02 output following unicode quotes change
Accept T3208b output following unicode quotes change
Accept T3950 output following unicode quotes change
Update T3103.stderr following unicode quote change
Add a test for #2507; we should get `' quotes if unicode quotes don't work
Fix T6037.stderr; it uses LC_ALL=C, so won't actually get unicode quotes
Add a couple of tests for #7627