Print stack overflow messages for Linux and OS X

This installs signal handlers to print out stack overflow messages on Linux. It also ensures the main thread has a guard page.

This will catch stack overflows in external code. It's done in preparation of switching to stack probes (#16012).

I've done some simple tests with overflowing the main thread, native threads and green threads (with and without UV) on x86-64.
This might work on ARM, MIPS and x86-32.

I've been unable to run the test suite on this because of #16305.
This may be better expressed with a `match` instead of `is_none`/`unwrap` (also avoids calling arbitrary code). You'd have to mark `term` as `-> !` though to get the typechecker to accept it.