[XCTEST] Add XCTest subspec.

- Add Kiwi subspec which defines preprocessor macro KIWI_XCTEST.
- KWSpec inherits from XCTestCase or SenTestCase based on value of
  KIWI_XCTEST.

.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 is .xctest or .octest, 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. This allows the tests to at least be run.
However, XCTestCase requires file names, line numbers, and other
information to be specified for failures. This commit does not include
this information, so individual failures are not reported in the Xcode 5
test navigator.
[XCTEST] Report file name, line numbers where possible.
[XCTEST] Show specs in test navigator in .xctest.

XCTest uses `-name`, not `-description` when displaying tests in Xcode
test navigator. Since `-name` returned `nil`, .xctest bundle specs were
not being displayed in the test navigator; this commit implements
`-name` and therefore adds the specs to the test gutter.
[XCTEST] Add functional tests for XCTest subspec.
Merge branch 'fix-travis-yml' into xctest-subspcec-tests
[XCTEST] Add XCTest tests to Travis.
Merge pull request #3 from modocache/xctest-subspec-tests

[XCTEST] Add automated tests for KIWI_XCTEST macro.
[XCTEST] Replace KIWI_XCTEST macro with XCT_EXPORT

Instead of defining a new macro, KIWI_XCTEST, the Kiwi/XCTest subspec
now adds an import of the XCTest framework to the Kiwi .pch. That import
results in the definition of the XCT_EXPORT macro, defined by the XCTest
framework. We use this macro to perform conditional logic in the KWSpec
class header and implementation.

This commit also modifies the Kiwi-XCTest target to precompile a
separate header than the Kiwi target, Kiwi-XCTest-Prefix.pch, in order
to mirror the behavior of the subspec.
Merge branch 'xctest-subspec' of github.com:modocache/Kiwi into xctest-subspec-tests
[XCTEST] Use runtime instead of XCT_EXPORT macro.

Use the runtime to determine which failure API (XCTest's
`recordFailureWithDescription:inFile:atLine:expected:` or
SenTestingKit's `failWithException:`) to use, instead of using
XCT_EXPORT macro.
[XCTEST] Remove Travis test not supported on 4.6.

Cannot test KiwiXCTests until Travis supports Xcode 5 or greater.
[XCTEST] Remove objc_msgSend.
Revert "[XCTEST] Remove objc_msgSend."

This reverts commit f532df45505775eadb738f5091969e64bb64df06.
[XCTEST] Isolate test framework dependencies.

- "Kiwi/XCTest" is only dependent on XCTest.framework, and
  "Kiwi/SenTestingKit" is only dependent on SenTestingKit.framework.
- Move SenTestSuite patch category to its own directory.
- Remove SenTestingKit string constants from KWFailure implementation
  file.
Merge pull request #366 from modocache/xctest-subspec

Support .xctest Unit Testing Bundles
Merge branch 'master' into x86_64

Conflicts:
	Kiwi.xcodeproj/project.pbxproj