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 function seems a little redundant with `stack_bounds` because I would expect the guard page to *always* be at the very base of the stack, so it seems like this would always be equivalent to `lo`?