Moved private KWInequalityType declaration into class .m file.

Because this is a public header, it will be exported to clients of
the library. But the NS_ENUM macro used to declare the
KWInequalityType is only available in the iOS6 and MacOS 10.8 SDK,
while the library would otherwise work fine at least back to the
iOS5 and MacOS 10.6 SDKs (and possibly earlier). And because it is
only used within the class, it is should not be leaked to the
public interface. Moving it to the top of the .m file solves both
issues.
Adjust formatting to match.
Add class name to failure message in equality checks

Added to descriptino of KWEqualMatcher as well, for consistency.

Fixes #348
[1923] Add API for let() and stub out building let nodes
[1923] Initial implementation of let nodes, passing
Remove unnecessary boxing of id * as NSValue
Fix crash from treating an array of KWLetNodes as array of arrays
Redesign KWLetNode as recursive node structure; extract node construction out of KWContextNode

The structure of KWLetNodes previously created by KWContextNode was
incorrect: it was static, in that it was constructed once when building
the example suite, and didn't reflect the tree of context nodes in which
they may be defined (so if a child context defined a new let node for
the same symbol, it would override any other value for that symbol, in
all contexts!).

This redesigns KWLetNode to define a recursive structure, wherein a
node can have children (representing mulitple blocks for the same same
symbol name), and next/previous, which defines the order in which
symbol names are introduced (and thus the order they should be
evaluated).

Now, each context node maintains just the array of let nodes declared
within it. The recursive structure is rebuilt before each example to
reflect only the context in which an example is executing, and then
torn down after the example finishes by sending the root let node the
'unlink' message.
Refactor let node evaluation to follow the example node visitor pattern
Fix issue where let variables would always be nil

In short, the pointer that the let macro passed into let_ points to the
stack location of the declared variable, whereas when an example node
block capturing a reference to the variable is copied, it now
references the heap location.

So even though the stack variable pointer is dereferenced and assigned
the return value of the block, *the heap version is still nil*.

This is fixed by creating a block, copying it, capturing a reference to
the heap location, and then returning a pointer to it.
Add detailed documentation for the let() macro
Silence deprecation warning for /usr/bin/atos.

`callSiteWithAddress` uses the `atos` command line tool
tool, which outputs the following to stderr when run on OS X 10.9
(13A569) & XCode 5 GM:

```
--
Warning: /usr/bin/atos is moving and will be removed from a future OS X release.
It is now available in the Xcode developer tools to be invoked via: `xcrun atos`
To silence this warning, pass the '-d' command-line flag to this tool.
--
```

This commit silences the warnings.
[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.
Remove failing brew command from travis.yml.
Don't use libunwind on ARM.
xctool needs SDK specified.
[XCTEST] Add functional tests for XCTest subspec.
Merge branch 'fix-travis-yml' into xctest-subspcec-tests