Use blacklisting instead of whitelisting for printing test output

Added a handler for text not matching any pattern, plus handling for common output types:

* copying headers and plists
* blank lines
* creating directories
* stage messages like `** TEST FAILED**`
* warnings
* "shell commands" when preceded by 4 spaces

The simple formatter outputs unmatched text by default.

Unhandled items include:

* generic output messages. these have no standard format but examples include:
    - `Create product structure`
    - `Build settings from command line:`
    - `… done`
* output from third-party test frameworks:
    - `Test Case '-[ABCSomething test_something_is_nil]' started.`
    - `Test Suite 'SASalesHistoryTableObjectTests' finished at 2013-12-30 22:08:53 +0000.`
    - for Kiwi, this output matches `/^(Test (?:Case|Suite).*(?:started|finished|passed|failed).*)/` or `/^\s*(.*\[(?:PASSED|FAILED)\])/` and can be completed discarded

* `NSLog` statements, which have a first line matching `/^(\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:[\d.]+)\s(.*\[[0-9a-f:]+\])\s(.*)/` but may continue for several lines in any format
Unused method argument - `text`. If it's necessary, use `_` or `_text` as an argument name to indicate that it won't be used. You can also write as `format_empty_line(*)` if you want the method to accept any arguments but don't care about them.<br>Use empty lines between defs.