Added a hook on SLTest exposing failures that are encountered during a test run.

We'd like to display some more debugging information about a test failure when it happens, so we've added a hook to support this.
Hm, this looks kinda hairy. It looks like you might be trying to adjust for [changing the return value of `-runAndReport...`](https://github.com/inkling/Subliminal/pull/220/files#diff-4ebb2fdf9f559b7e922291597ddf89cdR446) from concerning just failures in setup/teardown to any failure?

That would be ok to do if you thought you had a more elegant way, since no one's supposed to be using that method except the test controller, but the contract we've got to maintain is that "finish" is only logged if test set-up and tear-down complete successfully. If a failure occurs in test set-up or tear-down, we must log abort" instead.

It's kind of an oversight on my part that `-[SLTest testIfTest{Setup,Teardown}FailsAnErrorAndTestAbortAreLogged]` don't reject "finish being called".