SIGINFO

I realize it is late in the process to propose a large patch like this, so I wanted to make sure you were OK with this new behavior (of printing failure backtraces before crashing) before I merged it. This essentially replicates what we have been doing on Windows all along, but for Unix.

this is intended to help with debugging #7640

It also adds a bonus feature of printing a current stack trace if the process receives SIGINFO / SIGUSR1 (the changes in profile were mostly driven by wanting to free SIGUSR1 for this purpose, and just reviewing the rest of the code for potential problems / excess syscalls):

```
shell> kill -SIGUSR1 $(getpid())

signal (10): User defined signal 1
??? at ???:1913539451
??? at ???:1929952982
??? at ???:1913539760
??? at ???:1910527513
uv__epoll_wait at /home/jameson/julia/deps/libuv/src/unix/linux-syscalls.c:316
uv__update_time at /home/jameson/julia/deps/libuv/src/unix/internal.h:299
uv_run at /home/jameson/julia/deps/libuv/src/unix/core.c:295
process_events at ./stream.jl:536
wait at ./task.jl:268
wait at ./task.jl:189
??? at ???:1918977437
stream_wait at ./stream.jl:263
wait at ./process.jl:619
success at process.jl:492
??? at ???:1890324771
??? at ???:1918977611
repl_cmd at ./client.jl:63
??? at ???:1885079356
??? at ???:1918977437
??? at ???:1919258476
??? at ???:1919253409
??? at ???:1919319008
??? at ???:1918997612
eval_user_input at REPL.jl:54
??? at ???:1890308503
??? at ???:1918977611
anonymous at task.jl:96
??? at ???:1919285091
??? at ???:1919280343
??? at ???:4199469
??? at ???:1909679981
??? at ???:4199525

julia> 
```

@JeffBezanson @timholy @Keno 
No -- I only meant to change this once (below)