Support .xctest Unit Testing Bundles

### Summary of Changes

- Add Kiwi subspec "Kiwi/XCTest" which imports XCTest framework in a precompiled header.
- `KWSpec` inherits from `XCTestCase` or `SenTestCase` based on whether `XCT_EXPORT` is defined. This is a macro defined in `<XCTest/XCTestDefines.h>`, which is imported in the precompiled header for the XCTest subspec.
- `XCTestCase` has a different API for reporting failures (SenTestingKit's `failWithException:` vs. XCTest's `recordFailureWithDescription:inFile:atLine:expected:`), so `KWSpec.m` determines which method it responds to and sends the appropriate one.
- Implement `-name` method on `KWSpec`. XCTest uses `-name`, not `-description` like SenTestingKit, in order to display test results in test navigator.
- Add `Kiwi-XCTest` (shared) and `KiwiXCTests` targets. `Kiwi-XCTest` is identical to the `Kiwi` target, except it imports XCTest framework, just like the "Kiwi/XCTest" subspec does. `KiwiXCTests` contains functional tests which assert the precompiled header works as intended. `KiwiXCTests` can be added to `.travis.yml` as soon as Travis CI begins using Xcode 5 (see 343a1ee).
- Fix Travis CI tests by including the code in PR #367.

### Result

The following is a screenshot of test results on a fresh Xcode 5 project using the `Kiwi/XCTest` subspec. Note that tests are run and reported in the test navigator, even though the test bundle has an extension of `.xctest`.

![](http://f.cl.ly/items/1t0r3E451q101f2v0Y3U/Screen%20Shot%202013-09-12%20at%2011.41.02%20PM.png)

### Background

`.xctest` bundles do not run any tests defined on subclasses of `SenTestCase`. Prior to this commit, `KWSpec` inherits from `SenTestCase`. This means that developers creating new projects using Xcode 5, which includes an `.xctest` bundle by default, cannot use Kiwi to run tests on new projects.

Simply changing the base class of `KWSpec` from `SenTestCase` to `XCTestCase`, on the other hand, causes the opposite problem to occur; `.octest` bundles only run tests associated with subclasses of `SenTestCase`, so the `XCTestCase` classes are ignored.

Since there is no way to programmatically determine whether the test bundle has an `.xctest` or `.octest` extension, this commit leaves it up to the user to specify. Developers using `.octest` bundles do not need to do anything; this commit changes the default subspec to be compatible with SenTestingKit, just as it was before. Developers using `.xctest` bundles, however, can specify the `Kiwi/XCTest` subspec in order to have KWSpec inherit from XCTestCase.

---

I would appreciate feedback on this approach. Adding an additional subspec might be too much work for users, but I can't think of a better approach. Adding additional targets for functional tests (`Kiwi-XCTest` and `KiwiXCTests`) also clutters the project a bit. However, all the changes are well tested as a result.

It would be great to get some sort of XCTest support out there before Xcode 5 comes out next week. :wink: :soon: