error cleanly if TEST_HOST is unset for app tests

Summary:
when running app tests, look at TEST_HOST. If it's unset, fail fast with a (hopefully) informative error, rather than dying with an objc exception (OSX) or mysteriously running 0 tests (iOS.)
Add test cases for valid/invalid TEST_HOST. (Also, add a bit to one of the sample projects, and some gratuitous comments elsewhere.)

Test Plan: some tests included. Also, ran xctool from shell in TestProject-App-OSX with TEST_HOST set correctly (expected behavior: 2/3 of the sample project's tests pass) and incorrectly (expected: xctool prints "TEST_HOST not executable".) Similar for iOS project.

Reviewers: fpotter

Differential Revision: https://phabricator.fb.com/D917637

Task ID: 2654348