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
`MutableByteArray#`.
24 jobs for master in 129 minutes and 41 seconds (queued for 5 seconds)
Name Stage Failure
failed
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)
$ git fetch "$CI_MERGE_REQUEST_PROJECT_URL" $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
fatal: no path specified; see 'git help pull' for valid url syntax
ERROR: Job failed: exit code 1
failed
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 registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:0da9c4be73f2d73868f610d20352af856e8f2727 ...
Authenticating with credentials from job payload (GitLab Registry)
Pulling docker image registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:0da9c4be73f2d73868f610d20352af856e8f2727 ...
Using docker image sha256:007c769da745768549d5b925f7bcb45a006dde2e76ea6c04566d97ba7c3e9db5 for registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:0da9c4be73f2d73868f610d20352af856e8f2727 ...
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.