issue-66: use signal's ucontext when unwinding out backtrace

In issue-66 (and readme) it is pointed out that sometimes there are
some issues grabbing backtrace across signal handler boundary.

This code attempts to fix it by grabbing backtrace from signal's
ucontext which clearly does not include signal handler boundary.

We're using "feature" of libunwind that for some important platforms
libunwind's context is same as libc's ucontext_t which is given to as
part of calling signal handler.
issue-66: ensure order between memory region and libunwind locks

I.e. to prevent possible deadlock when this locks are taked by
different threads in different order.
issue-66: integrate unwind_safeness_helper
added missing const removal