when chunkifying an empty list, we should return one empty chunk.

^^, we used to just return an empty list.  And, so the test run might
look like...

```
=== RUN-TESTS ===

  [Info] Collecting info for testables... (769 ms)
** RUN-TESTS SUCCEEDED: 0 of 0 tests passed ** (769 ms)
```

This fix has the effect of...  even if we think a test bundle is empty,
we'll still run the test bundle.
otest-query should have non-zero exit status when it fails.

We never checked the return value on `-[NSBundle load]`, and so we'd
just return an empty array even though we failed.
the OtestQuery* functions will now return an error if they fail.

^^, and this error is pulled into `TestableExecutionInfo`
if otest-query fails, we should advertise that failure.

If otest-query fails, we'll now save that error in
`TestableExecutionInfo`.  When it comes time to generate the block to
run the testable, we'll add a special block that advertises the failure
from otest-query.

It looks something like...

```
[Info] Loading settings for scheme 'xctool_135' ... (556 ms)

=== RUN-TESTS ===

  [Info] Collecting info for testables... (686 ms)
  run-test xctool_135Tests.octest (iphonesimulator6.1, application-test, GC OFF)
  failed: Failed to query the list of test cases in the test bundle: dlopen(/Users/fpotter/Library/Developer/Xcode/DerivedData/xctool_135-ckdugqpazyoqepacezkqluvuflud/Build/Products/Debug-iphonesimulator/xctool_135Tests.octest/xctool_135Tests, 2): Symbol not found: _OBJC_CLASS_$_AFHTTPClient
  Referenced from: /Users/fpotter/Library/Developer/Xcode/DerivedData/xctool_135-ckdugqpazyoqepacezkqluvuflud/Build/Products/Debug-iphonesimulator/xctool_135Tests.octest/xctool_135Tests
  Expected in: /Users/fpotter/Library/Developer/Xcode/DerivedData/xctool-coaqfpnavanndzgumiqgxmfwpkjd/Build/Products/Debug/libexec/otest-query-ios in /Users/fpotter/Library/Developer/Xcode/DerivedData/xctool_135-ckdugqpazyoqepacezkqluvuflud/Build/Products/Debug-iphonesimulator/xctool_135Tests.octest/xctool_135Tests
```
make otest-query work with iOS application tests.

This is from issue #135.

Test bundles for application tests are funky in that they might depend
on symbols provided by the test host / bundle loader application.  In
that case, the regular otest-query-ios will fail with `dyld` errors
about symbols it can't find.

Unfortunately we can't just dlopen() the test host to get its symbols,
too. By default, simulator apps are not built as position-independent
code and cannot by dynamically loaded.

The workaround is to...

1) Launch the test host executable so we get its symbols.  We make it
load a new library called `otest-query-ios-dylib` which will run
immediately on load (via DYLD_INSERT_LIBRARIES).

2) `otest-query-ios-dylib` will look at the "OtestQueryBundlePath"
environment variable to get the test bundle path, then it dynamically
loads that via dlopen().

3) Then, dump all the test cases just like otest-query normally does.

4) Exit before the test host app can do anything.
Eliminate use of subscripted access to environment variables to fix build issues. refs #135, refs #136
the TEST_HOST path may sometimes be wrapped in "quotes"

^^, which was making OTestQueryTestCasesInIOSBundleWithTestHost fail.
show friendly error message if the TEST_HOST executable doesn't exist.
show friendly error if test bundle does not exist.