Fix relative references to project resources.
Set a retina Default.png to quiesce Xcode warnings when building DemoCrash-iOS-Device
Add support for passing the mach task to the stack walker cursor.

Note that this is an incomplete commit, as the cursor is not currently
cleaned up and will leak the task port. I'm committing this partial
code because it's reliably reproducing a kernel deadlock/panic on the
iPhone 4, iPhone 4S. I haven't yet tested the iPhone 5.
Fix reset of exception ports for which a server was not previously registered.

This fixes the case where we register for exception types (via
FATAL_EXCEPTION_MASK) that were not registered to an existing server.
The ports in question would be left registered to our exception server
after it was stopped, which would result in a hang in the case where an
exception occured.

The fix is to reset all ports; in the case where a server was previously
registered, we re-insert it. In the case where none was registered, we
set the exception handler server port to MACH_PORT_NULL.

It remains the case that deregistering a mach exception server should
not generally be done, for the reasons described in the
deregisterHandlerAndReturnError: method documentation.
Merge branch 'bitstadium' into landonf-ha14-merge-ha-fork
Checkpoint commit: Begin unifying frame walker code across architectures, and drop PPC support.

This work is required to support merging in the DWARF, compact unwind,
stack scanning frame walkers, and to allow the implementation of
prologue scanning. PPC hasn't been supported in 2-3 years; due to
significant changes made here, is no longer reasonable to keep the
PPC sources in-tree.

This also has the side benefit of simplifying the Mach exception work,
as it creates a new unified thread state structure that is distinct from
the signal-specific ucontext_t.

This code is complete and functional, with one exception (which is why
this commit is marked with 'Checkpoint'):

In -[PLCrashLogWriterTests testWriteReport], the
plcrash_log_writer_write() call has been short-circuited to not supply
the expected ucontext_t. This will have to be resolved by removing the
minimal remaining dependencies on ucontext_t within the PLCrashLogWriter
APIs.

Checkpoint TODOs in this commit (there is only the one described above)
are marked with the THREAD_STATE_TODO flag.
Rename plframe_cursor_thread_state_t to plframe_thread_state_t

It will be used outside of the plframe_cursors API.
Break out thread state initialization for ucontext and mach thread_t.

This adds tests for the ucontext-based initialization (which uncovered
some bugs in the initialization code). Tests for the thread_t
initialization will be forthcoming.
Add unit test for plframe_thread_state_thread_init()
Update log writer to accept a plframe_thread_state_t rather than ucontext_t.

This closes out the last TODO from 8c3c358dc.
Fix ARM build
Remove unnecessary thread creation; there's already a test thread available.
Combine the frame-pointer-based stack walking code
Fix x86-32 unit tests.

Turns out that AppCode helpfully will not run both the x86-32 and x86-64
tests by default.
Begin work to unify the 32-bit and 64-bit x86 frame walker implementations.
Rename 'i386' to 'x86' (comprising both x86-32 and x86-64).
Minor #include cleanup (no functional changes)
Unify the x86 register name implementations.
Fix mach port leaks.
Switch to a x86-32/x86-64-safe mechanism for defining cursor-specific IP and FP registers.