Adds a failWith macro to report a failure.

This is typically used to ensure a code block is never called during
spec validation.
The name of the macros is inspired from the fail_with method of RSpec.

Use case:

[object doSomething:^ (NSArray *array) {
    // Success block
    [[array should] beEmpty];
} failure:^{
    // Failure block.
    failWith(@"the method should not fail in this test");
}];
Renamed failWith macro to fail
Add KWContainStringMatcher, supporting expectations containString:, containString:options:, startWithString:, and endWithString:
Merge pull request #270 from kristopherjohnson/KWContainStringMatcher

Add KWContainStringMatcher
Merge pull request #268 from pbernery/support_for_fail

Adds a failWith macro to report a failure.