Add hooks into SenTestingKit for setup/teardown of entire test suite

This is the bare bones required to hook into setup and teardown of an
entire SenTestSuite. This is a starting point that could make way for a
real DSL for Kiwi test suite configuration.
Add DSL for setup/teardown of entire test suite

Example usage:

    #import <Kiwi/Kiwi.h>

    CONFIG_START

    beforeAllSpecs(^{
        NSLog(@"BEFORE ALL SPECS");
    });

    afterAllSpecs(^{
        NSLog(@"AFTER ALL SPECS");
    });

    CONFIG_END

(Add this code to a file `<tests-dir>/Support/Config.m` and ensure it is
part of your unit test bundle's Compile Sources build phase.)

- - -

Defines a `KWSuiteConfigurationBase` class that provides a
`+defaultConfiguration` singleton instance. The first time this method
is called, we look for a class named `KWSuiteConfiguration` that is a
subclass of `KWSuiteConfigurationBase`, and instantiate it. This class
is declared by using the `CONFIG_START` and `CONFIG_END` macros.

When the default configuration receives the `-setUp` message, it sends
`-configureSuite` to `self`, which executes the code between
`CONFIG_START` and `CONFIG_END`.

The blocks passed to `beforeAllSpecs` and `afterAllSpecs` are then
executed in `-setUp` and `-tearDown`, respectively.
Add support for XCTestSuite in suite configuration setup/teardown

Extracts `+[SenTestSuite patchTestSuiteForBundlePathIMP]` into its own
category defined in TestSuiteConfigurationAdditions.h, extending either
`SenTestSuite` or `XCTestSuite`, depending on whether Kiwi is compiled
with the `XCT_EXPORT` macro.
Define KW_TEST_CASE and KW_TEST_SUITE macros

Removes duplication of `#ifdef XCT_EXPORT ... #endif` directives by
instead providing macros that expand to the appropriate class name
(e.g., `SenTestSuite` vs. `XCTestSuite`, `SenTestCase` vs.
`XCTestCase`).
Merge pull request #427 from sharplet/config-hooks

Add DSL for setup/teardown of entire test suite