This involved various fixes:
- Move a test that uses ulimit to Posix.
- Add a few "REQUIRES: shell" lines to tests using backtick subshell evaluation.
- The MSVC CRT buffers stdio if the output is a pipe by default. Some tests need that disabled to avoid interleaving test stdio with asan output.
- MSVC headers provide _alloca instead of alloca (go figure), so add a portability macro to the two alloca tests.
- XFAIL tests that rely on accurate symbols, we need to pass more flags to make that work.
- MSVC's printf implementation of %p uses upper case letters and doesn't add 0x, so do that manually.
- Accept "SEGV" or "access-violation" reports in crash tests.