Subliminal's logs are now parsed into event dictionaries, to be handled by reporters.

There is currently only one reporter, which logs its messages to `stdout` and `stderr`.
Eventually, `subliminal-instrument` will allow for multiple reporters, to be configured
by options to the executable.
Ensure that `instruments` exits when `subliminal-instrument` does.
Suppress a warning issued when using `ps` on OS X 10.8.

See http://openradar.appspot.com/11894054.
Subliminal now exports `SLLogger` as part of a framework.

For consumption by `subliminal-instrument`, so that the latter can directly test
its parsing of the former's output.
Subliminal logs uncaught exceptions using a dedicated log method.

So that uncaught exception logging may be tested directly.

The current test and test case are no longer logged as part of the
uncaught exception message. Saying that the exception occurred
"during" the test might imply that the exception occurred as a result
of the test (rather than in the application while the test was ongoing);
such information can be deduced from the logs prior to the exception;
and this reduces the state for the test controller and tests to maintain.
Allow Xcode to make a change to Subliminal's project file.
subliminal-instrument parses the status of the tests from log messages.

subliminal-instrument is able to test parsing the output of Subliminal
directly by importing `SLLogger` and evaluating its output JavaScript
to yield the messages that would be logged to UIAutomation.
subliminal-instrument adds the current test and test case to all events.

So that reporters do not have to recover this information themselves
from the events.
Bracket errors, failures, debug, and default messages within their tests/test cases.

Logs will now look like:

    Tests are starting up...
    Focusing on test cases in specific tests: SLKeyboardTest,focus_SLPopoverTest_iPad,focus_SLDeviceTest,focus_SLElementStateTest.
    Testing started.
        Test "SLKeyboardTest" started.
            "focus_testCanMatchKeyboard" started.
--------------------------------------------------------------------------------
And now, a short interlude...
Unknown location: Unexpected exception occurred ***NSInternalInconsistencyException*** for reason:
------------|-------------------------------------------------------------------
            "focus_testCanMatchKeyboard" failed unexpectedly.
Factor the mechanics of report writing out of the `SITerminalReporter`.
Better indicate test case status.
`SITerminalStringFormatter` converts XML markup to ANSI escape sequences.

To make it easier to format strings for the terminal.
`SITerminalStringFormatter` now formats certain empty tags as unicode characters, with ASCII fallbacks.
`SITerminalReporter` pretty-prints its logs if capable.

Using colors (ANSI escape sequences) and Unicode characters,
as supported by the environment and `stdout`.
`subliminal-instrument.sh` dynamically builds and runs `subliminal-instrument`.
`subliminal-test` uses `subliminal-instrument` to format `instruments`' output.
Ensure that `subliminal-instrument` will exit if/when `subliminal-test` is killed.
Update the Rakefile's documentation to reflect the supported test SDKs.
Run `subliminal-instrument`'s tests in CI.

This entails the addition of a new "CI_unit" rake task,
to run locally as part of the "test" task, gating the integration tests,
and to run as its own matrix entry on Travis.