Use the `%target-swift-5.1-abi-triple` substitution to compile the tests for
deployment to the minimum OS versions required for use of _Concurrency APIs,
instead of disabling availability checking.
There is no `%swift-frontend-target` subsitution in test, which is
actually `%target-swift-frontend`. The wrong spelling is actually
interpreted by lit as `%swift`-frontend-target, and surprising didn't
break any tests as the last argument from subsitution is
`-define-availability` so it just leads to an very akward availability
definition.
The linkage inferred by internal linking is overly restrictive. It uses
the "internal linkage type" which is for translation unit local symbols,
that is `static` storage. These symbols participate in linking and need
to be given external storage but hidden visibility and no DLL storage in
static linking. This permits them to participate in symbolic resolution
during linking but are made module local, not LLVM module local.