WIP: fix for issue #64, ensuring beforeAll and afterAll work as expected.
Keep the association of the example group with the invocation encapsulated within KWExampleSuite.
Rename KWExampleGroup to KWExample.
Taking a different approach to how contexts and examples are run.

The problem is that originally, contexts were run from the outside in, starting at the root and working down into nested contexts.

Now, however, each individual example is run one at a time by SenTest, outside of the context run, so we instead need to work out from each example.

Using a bit of clever recursive block behaviour and making KWContext aware of it's parent, we
can work out from an example all the way to the root context, run each beforeAll block just once, then each beforeEach block, traversing back down to the example again, running it and then doing the same for the after blocks.
Added some comprehensive examples of how before each/all hooks work and the order of execution.
Improved description for debugging.
Use an array instead of a set to make the spec order deterministic.
Get after hooks working properly.
Move hook examples into their own file.
Output spec names with each context description correctly.

The exampleNodeStack is no longer used by KWExample, so it can be removed.

This continues work on Issue #64
Failure output should contain full spec name (thanks @kglee79, see #64)
Make sure registerMatchers() works if defined after a spec. (Closes #64)
Fixed a bad merge
Fix broken unit tests (close #74)
Fixed typo
A bit more logging as a sanity check
Add newlines to the end of headers.

This aids when compiling with strict build settings.
Merge pull request #87 from tonyarnold/master

Add newlines to the end of headers that were missing them.
Fix a couple of comparison warnings

Comparison of integers of different signs: 'int' and 'NSUInteger' (aka
'unsigned int').
Made specs of ExampleAsyncSpec passing again