Update `+[SLTestController testsToRun:usingSeed:withFocus:]`'s docs to discuss run groups.
Mention that only concrete tests will be run.
Log an explicit warning about there not being tests to run.

Rather than just a message.

Also update the copy, because the old message was weird (I'm not sure why it
would say that no tests were focused if we clearly were running with focus);
because it's nicer to distinguish between the user simply not having defined
any tests, vs. them having tried to run tests that can't be run; and to point
them at the documentation to remedy their issue.

Tests have been added for these various cases.
Focused tests exclude other tests even if they cannot be run. (fixes #234)

To make it easier to reason about what focus really means--trying to run
one tests, at the exclusion of all other tests.

No one should have relied on the previous behavior--focus being ignored
if the focused test could not be run--insofar as focusing is temporary,
and focusing an unsupported test would never have caused that test to run.
Merge pull request #255 from inkling/jeff/234_apply_focus_first

Apply focus before filtering for platform/environment support.