rework otest-query to be compatible with Kiwi & Specta

We used to do test case introspection by looking at all SenTestCase
subclasses and then looking for all methods of those classes that
started with the prefix 'test'.

That method breaks for the BDD testing frameworks like Kiwi or Specta,
because they don't have ObjC methods for each of their tests.  (They use
some magic machinery in `+[SenTestCase testInvocations]` that lets them
control how tests are run).

Our new method scrapes the list of tests cases we can find in
`+[SenTestSuite defaultTestSuite]` which will include all test cases in
a bundle.

This will work equally well for plain tests and Kiwi/Specta.
adding `containsArray` matcher, and reducing the scope of some tests.

Some of the tests in OCUnitTestRunnerTests tested more than they needed
to.  e.g., they were verifying all the arguments to otest/xctest were as
expected, when all they really cared about was whether a couple of the
arguments were as expected.
tests to check that correct test specifier args are used for (XC|Sen)Test

Make sure .octest bundles use -SenTest* and .xctest bundles use -XCTest*
always pass the inverted test list to -SenTest / -XCTest

Instead of passing the explicit list of tests to be run to -SenTest, we
should instead pass a list of all the tests we do _NOT_ want to run and
set -SenTestInvertScope YES.

This is exactly how Xcode.app does it.  Also, for the Kiwi BDD testing
framework, this is the only way to run specific tests.  For some reason,
Kiwi will only run specific tests if we do the inversion method.