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.
My system (OSX 10.9) has this definition:

```rust
struct  __sigaction {                                                 
        union __sigaction_u __sigaction_u;  /* signal handler */      
        void    (*sa_tramp)(void *, int, int, siginfo_t *, void *);   
        sigset_t sa_mask;               /* signal mask to apply */    
        int     sa_flags;               /* see signal options below */
};                                                                    
```

How come you changed it?