Rerun tests several times if simulator fails to start. Log simulator error.

Sometimes simulator or test host app fails to run. Let's try several times to run before reporting about failure to callers. Before each attempt we are killing simulator.
Also we are now logging error which simulator returns in such cases.
Merge pull request #351 from facebook/nekto/rerun_tests_if_fails

Rerun tests several times if simulator fails to start. Log simulator errors.
Refactor test suite event state to support errored tests and publish full statistics to reporters.
Publish suite events to reporterts in OCTestSuiteEventState and test events in TestRunState rather then in OCUnitTestRunner.
Continuer running tests after one of the tests crashed.
Merge pull request #318 from facebook/nekto/refactor_test_suite_event_state

Refactor OCTestSuiteEventState. Move publishing of events to reporters from OCUnitTestRunner to OCTestSuiteEventState and TestRunState.
Merge pull request #304 from facebook/nekto/continue_testing_after_crash

Continue testing after crash.
Add new option `-resetSimulator`. Reset simulator if (un)installation fails.

New option tells xctool to reset iOS simulator content and settings and restart it before running every app test run.

Sometimes iOS simulator fails to install or uninstall test host app. If that happens we were retrying 3 times before failing, now we are additionally resetting simulator content and settings folder after each attempt.
Merge pull request #353 from facebook/nekto/clean_sim_folder

Add new option `-resetSimulator`. Reset simulator if (un)installation fails.
Update Version.m
Make it clear Xcode 5 is required
Add user notifications reporter which sends notifications to NSUserNotificaitonCenter after an action succeeded or failed.

Examples of notifications:
https://dl.dropboxusercontent.com/u/6872784/tmp/xctool/xctool_notification.png
https://dl.dropboxusercontent.com/u/6872784/tmp/xctool/xctool_notifiction_center.png