Improve setjmp()/longjmp() performance.

Exception handling for the C backend used setjmp()/longjmp()
unconditionally. However, on POSIX systems, these functions save and
restore the signal mask, adding considerable overhead to exception
handling, even where no exceptions are involved. The compiler and
library now try to use either _setjmp()/_longjmp() or
sigsetjmp()/siglongjmp() where possible, marked by the defines
"nimRawSetjmp" and "nimSigSetjmp", respectively. The define
"nimStdSetjmp" can be used to revert to setjmp()/longjmp() instead.
Use _setjmp()/_longjmp() only on BSD-like systems for now.
Merge pull request #1545 from rbehrends/setjmp-perf

Improve setjmp()/longjmp() performance.