launching an XCode 6 Simulator

## motivation

This pull request demonstrates that RunLoop.run _can_ be used to launch an Xcode 6 Simulator.

The simulator environment on Xcode 6 has changed dramatically.

The instruments cli tool is also very buggy [1].

* The Xcode iOS Simulator _must_ be running when instruments tries to launch the app.
* The app _must not_ be running in the simulator.
* The app _must_ be installed on the simulator that _is being targeted._  That last bit is very important.  Because of an Apple bug, instruments cannot install and launch the targeted simulator.

**NB** This pull request does not enable or fix calabash testing on iOS 8 [2].

## todo 

- [x] enable accessibility on simulator automatically so run_loop can be tested in isolation
- [x] enable simulator testing on travis ci (current specs are wrapped in `unless travis_ci?`)
- [ ] @krukow needs review

Karl, this PR is _huge_ and for that I apologize.  Initially, I tried to test run_loop _using_ calabash, but the gem environment was too hard to stabilize and I spent a lot of time going in circles.  

I think it makes sense to try to test run_loop in isolation.  To accomplish isolated testing, I needed to be able to automatically enable accessibility on the simulators.  I decided to migrate the simulator accessibility code out of calabash and into run_loop.

**NB** Enabling accessibility automatically on the Xcode 6 simulators is a WIP.

## testing

To run the specs locally:

```
# WARNING:  will open and close the simulator several times
$ be rake spec
Finished in 1 minute 31.18 seconds (files took 0.19085 seconds to load)
75 examples, 0 failures
```

It is possible that you will need do the following (after installing Xcode 6):

```
$ security authorizationdb write system.privilege.taskport is-developer
$ DevToolsSecurity --enable
```

If you have alternative Xcode installations and they are installed in directories that match this pattern:

```
/Xcode/4.3.1/Xcode*.app
< snip >
/Xcode/5.0.0/Xcode*.app
< snip >
/Xcode/5.1/Xcode*.app
/Xcode/5.1.1/Xcode*.app
/Xcode/6b4/Xcode*.app
```

then a bunch of regression specs will be run back to Xcode 5.1.

## links

- [1] Instruments 6 CLI problems http://www.openradar.me/radar?id=5840111442853888
- [2] UIAutomation Bugs https://gist.github.com/jmoody/27a3378d8d641b7f9012

## interesting test output

```
RunLoop::Core
  .udid_and_bundle_for_launcher
    when 5.1 <= xcode < 6.0
      returns 'iPhone Retina (4-inch) - Simulator - iOS 7.1' if simulator is not defined in the options args
    when xcode >= 6.0
    returns 'iPhone 5 (8.0 Simulator)' if simulator is not defined in the options args

  .default_tracetemplate
    returns a template for Xcode >= 5.0
    returns a template for current version of Xcode
    
RunLoop
  .run
    on simulators
      using 5.1 <= Xcode < 6.0
      using current version of Xcode <== 6.0
```
Very funny!