fix signal trampoline

save and use the program counter on stack
removes race condition in trampoline
also push/pop full memory words explicitly
unclutter native_isr_entry a bit

remove heap_address - hopefully superflous, does not work in valgrind
remove stale TODO
Merge pull request #539 from LudwigOrtmann/native_signal_patches

Native signal patches