Initial design of a re-useable unwinding integration test harness.

This moves the unwind integration test design in a more delcarative
direction, and should facilitate:

- Simplifying the existing unwind tests to resolve linker and runtime
  issues.
- Adding new, non-hardcoded test suites to validate unwinding behavior.

The test harness is implemented using a combination of C++
standard-layout classes defining tests and test cases, and assembly
macros to handle declaratively generating instances of the test and test
case classes.

This commit only supported x86/x86-64 builds; the build is known to be
incomplete (and broken) on all other architectures.

Issue: PLCR-541