Reliability fixes

1. Don't crash when receiving instruments log output that happens before the first test
2. Honor the `DEVELOPER_DIR` environment variable, which works in a way that `xcrun` doesn't (namely, without root access).
3. Added better text to the .WaitUntilXXX functions to better describe what's being waited for (helpful when tracing failure cases)
4. Added a function called WaitUntilAccessorSuccess.  For elements that are dynamically created, .WaitUntilVisible will always fail because the initial evaluation of the element will be a `UIAElementNil` -- never updated.  WaitUntilAccessorSuccess keeps evaluating the provided element lookup function, so that when the element is created it can be found.
5. Added code to address "iOS Simulator failed to install the application" and other deadlocks that can happen in instruments.