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
Merge with square master