Implement working test runner, with compact unwind data.

This has been validated both via libunwind and via our own unwinder.
This commit also replaces the use of a global function symbol with a
simple pointer reference to the target IP to be validated with
unwinding. This avoids any issues caused by the seemingly distinct
functions being re-ordered.

Issue: PLCR-499