This test fused both the CHECK directives and the
source code into one file, and is sensitive to the line numbers
that source code appears on in that file. Thus, any attempts to
add new lines to this test would break it.
This refactoring moves the source code to a separate file so
its line numbers stay stable.
Don't delete the OS declaration of `exit` because the concurrency shims aren't always imported, and so the shim declaration might not always be available.
Don't override the OS declaration of `exit` in the concurrency shims since we can't just delete the OS one. Instead, set up internal shims just for building Concurrency that forward declares `exit`.