improve unw_getcontext on ARM/Thumb
improve unw_getcontext on ARM/Thumb

Better support unw_resume, by returning r0 from the user, instead of
hard-coding it to zero (also incidentally fixing a compiler warning
about an unused expression). This better mimics a real function call,
instead of hard-coding the return value. When in thumb mode, this also
means we also need to avoid switching between thumb and ARM upon return
to this point, so we need to set the pc accurately to point after the
return instruction. When in ARM mode, we need an extra nop also to point
at the correct return instruction (since the stored value of pc in the
context runs ahead by 8 bytes, while stmia is only 4 bytes).

libunwind/libunwind,frida/libunwind,djwatson/libunwind,vtjnash/libunwind,vtjnash/libunwind,libunwind/libunwind,djwatson/libunwind,frida/libunwind,vtjnash/libunwind,libunwind/libunwind,djwatson/libunwind,frida/libunwind