Report file, line number along with failures

- Use callsite structs to pass references to the file and line
  number associated with an expectation.
- Have World keep track of the currently executing example.
- Have Example maintain a weak reference to its current test case.
  This allows Expectation to message that test case regarding failures.
  Note that this couples QuickExpectations to QuickCore. This is an
  architecture regression that should be addressed in the near future.

This commit is an improvement, but it still doesn't resolve issue #7.
Although failures are reported, causing the test suite to fail, Xcode
only displays a red line and failure message at the callsite for a
split-second, then the message disappears.
Use XCTFail instead of XCTestCase failure reporting

When using XCTest in Swift, we have access to an *awesome* function
called `XCTFail`, which allows us to report failures without a reference
to the current test case. Use `XCTFail` to break the coupling between
QuickCore.World and QuickExpectations.
README: add screenshot
Quick is the 1st BDD framework to support Xcode 6

This fixes issue #1: Xcode test navigator integration.

As of Xcode 6, each test invocation's selector is used to determine the
name displayed in the test navigator. Specta and Quick both used the
same instance method (`-[QuickSpec runExampleAtIndex:]`, in Quick's
case) to run each example. As a result, all tests in the same spec had
the same name, causing each example to "overwrite" each previous one in
the navigator. This caused several issues, including red lines to
indicate test failure in Xcode suddenly disappearing when the next
example finished running.

During `+[QuickSpec testInvocations]`, define a new instance method for
each example. Then, return an invocation that executes that new instance
method
QuickSpec: remove unused method
Merge branch 'master' of https://github.com/modocache/Quick