Naming, value types and tests for Addr# atomics

The atomic Exchange and CAS operations on integral types are updated to
take and return more natural `Word#` rather than `Int#` values.  These
are bit-block not arithmetic operations, and the sign bit plays no
special role.

Standardises the names to `atomic<OpType><ValType>Addr#`, where `OpType` is one
of `Cas` or `Exchange` and `ValType` is presently either `Word` or `Addr`.
Eventually, variants for `Word32` and `Word64` can and should be added,
once #11953 and related issues (e.g. #13825) are resolved.

Adds tests for `Addr#` CAS that mirror existing tests for
24 jobs for master in 129 minutes and 41 seconds (queued for 5 seconds)
Name Stage Failure
lint-submods Tool Lint
Entering 'libraries/unix'
Entering 'libraries/xhtml'
Entering 'nofib'
Entering 'utils/haddock'
Entering 'utils/hsc2hs'
Authenticating with credentials from job payload (GitLab Registry)
fatal: no path specified; see 'git help pull' for valid url syntax
ERROR: Job failed: exit code 1
hadrian-ghc-in-ghci Quick Build There has been a timeout failure or the job got stuck. Check your timeout limits or try again
Using Docker executor with image ...
Authenticating with credentials from job payload (GitLab Registry)
Pulling docker image ...
Using docker image sha256:007c769da745768549d5b925f7bcb45a006dde2e76ea6c04566d97ba7c3e9db5 for ...
Preparing environment
Running on runner-70d6c7b0-project-1-concurrent-3 via maurer...
Getting source from Git repository
Fetching changes...
Initialized empty Git repository in /builds/ghc/ghc/.git/
Created fresh repository.