Don't add steps to scenarios with skippedByFilter.

Adding a step to a scenario that is
"skippedByFilter" can cause a crash if that
scenario has default tearDown steps because
insertion uses NSMakeRange(...) to decide, where
to insert into self.steps. When, skippedByFilter
the steps array is never initialized, so on first
inspection it may seem like the checks aren't
necessary, since we'd be messaging nil, but the
arguments of the message are still evaluated
causing a crash like so:

*** Terminating app due to uncaught exception \
'NSRangeException', reason: '*** -[NSIndexSet \
initWithIndexesInRange:]: Range {4294967294, 1} \
exceeds maximum index value of NSNotFound - 1'
Merge pull request #191 from jakerr/master

Crash fix: Don't add steps to scenarios with skippedByFilter.
Fix UITouch timestamp to match Apple's implementation.

The Apple docs explicitly say that their timestamp is based off of
-[NSProccessInfo systemUptime].

Please see:
http://developer.apple.com/library/ios/documentation/uikit/reference/UITouch_Class/Reference/Reference.html#//apple_ref/occ/instp/UITouch/timestamp

Using the timeIntervalSinceReferenceDate can cause interaction
with views that use the timestamp, to behave incorrectly while under test.
Merge pull request #192 from jakerr/touch_times

Fix UITouch timestamp to match Apple's implementation.
One line fix for nil reference bug

This is a one line fix for a bug causing crashes for me.
The present code is adding an object to an array, without
first checking if the object reference is not nil.
Braces around if stmt

BTW I signed the Square contributor agreement.
Merge pull request #204 from tarekcorp/master

One line fix for nil reference bug
Fixed off-by-one bug in dragAlongPathWithPoints method which was omitting the last point when simulating a drag along an array of points.
Merge pull request #220 from seancoady/fix-dragAlongPathWithPoints

Fixed off-by-one bug in dragAlongPathWithPoints
Initial test suite to validate that all KIF features work for a specific SDK (targetting 6+)

Handled most of the easy cases.  Will need to go through to handle
alert views, et al.
Added (almost) full test suite for KIF test steps.

Excluded are popovers since this targets the iPhone and photo selection
since it is highly domain specific.
Continuation of previous commit.  Some files didn't go through completely.
Future iOS SDK compatibility.

Makes app work with SDK's that do not contain UITouch->_gestureView.
Work around defect in current betas where accessibilityValue may return
an NSAttributedString.
Address issues where an application's keyWindow may not be a member of
the windows array.
Increase the timeout between scrolling to a cell and looking it up.

Note that the latest simulator release has issues with accessibility
and the tests will need to be run on device or with an earlier
simulator.
Merged test suite with kif-next, rewrote tests in new format.
Resolved scrolling issue.

In a standard application, the run loop is managed by GSRunLoopModal,
which switches between two run loop modes, kCFRunLoopDefaultMode and
UITrackingRunLoopMode, depending on whether or not scrolling is taking
place.  In this test model, we were always running in
kCFRunLoopDefaultMode, meaning that events registered to the tracking
mode were never executed.

This is overcome by tracking when a scrolling gesture recognizer gets
accepted and using the tracking mode to spin the run loop until the
scroll view is done decelerating.
Prep for moving test suite into KIF project
Moved files to new test locations.
Incorporated test target as test phase for KIF project. Dogfooding!
Started chipping away at KIFTestStep.

KIFTestStep.h no longer referenced by other headers.
KIFTester+Generic no longer uses KIFTestStep.
Notification test allows execution of arbitrary block while executing.
Refactored large chunks of KIFTestCase.

Removed dead notification code.
Moved scrolling and waiting for first responder to KIFTester.
Moved accessibility element code to appropriate place.