Improved failure reporting for cascading errors.

It was too confusing to receive an error that did not display within
the test itself.  Now, cascading errors leave breadcrumbs so you can
track down the source of the failure by jumping to definitions from the
test itself.
Track run mode better.

Previously, there was some ugly logic in the dragging code to deal with
scrolling and run loops.  Basically, whenever you start to scroll you
enter the tracking run loop mode and spinning in the default mode will
do nothing to break you free.  The logic to get around this was to
detect if a scrolling gesture recognizer was accepted and use tracking
mode until deceleration ended.

This new process listens for the UIApplication pushing and popping run
loop modes and switches the waiting mechanism to correspond.  The
gesture manager now simply waits for the run mode to return to the
default value.
Added convenience method for debugging tests.

Sometime when writing tests, your accessibility labels don't match
what's on the screen.  It can be a real pain if you can't examine the
failing screen.  With `-[KIFTestStep setStopTestsOnFirstBigFailure:]`
your tests completely stop running and allow you to poke around the UI
before terminating the process.