Refactor otest-query

* OTestQuery.m refactored to reduce duplicate code
* OtestQuery.m has better exit codes and error messages
* otest-query's main.m has better error messages when given the wrong number of args
* Whitespacing for NSDictionary literals has been fixed
XCTest support for otest-query

* TestingFramework.m contains information about both frameworks
* Changed OtestQuery.m use information from TestingFramework.m
 instead of always using "SenTestCase" and "senAllSubclasses".
* Added unit tests in OTestQueryTests to check that otest-query
 gets the correct list of tests in both iOS and OSX projects
 using XCTest.
otest-shim refactoring

otest-shim has been refactored in preparation for XCTest support
XCTest.h added

XCTest.h, which is a class-dump of the XCTest framework, has been added in preparation for otest-shim's XCTest support
XCTest support for otest-shim & OCUnit* classes.

* Added XCTestLog_* functions in otest-shim.m. These are analogous to their SenTestLog_* counterparts, and call XCToolLog_*.
* Added XCTest.h to xctool proj
* Updated OCUnit* classes to use TestingFramework. This enables XCTest support for these classes.
* Additional information has been added to the TestingFramework dictionary:
  * iOS and OS X test runner executable names
  * the argument key for inverting scope
  * the argument key for filtering test cases
* Renamed the python script wrapping `ld` to reflect the fact that it now wraps `cc` as well.
* Removed the exception class name from reporter.m & update tests.
  (This is necessary because XCTest does not expose the NSException instance like SenTestingKit.
  Thus, XCTest does not know what the exception class name is.)
* Added test `testRunTestsFailsWhenSDKIsIPHONEOS_XCTest`, and gated it for environments where `XCTest.framework` exists.
* Added import to <execinfo.h> in test projects to get rid of compiler warnings