FunctionalTests: Add FailureTests

Addresses #127 by adding infrastructure to run a test suite composed of
QuickSpec instances, then makes assertions on the results of those runs.

- Expose internal XCTest classes and methods in order to allow for
  multiple XCTestSuite instances to be run at once.
- Add function to make it easy to run a XCTestSuite with a given spec
  instance in QCKSpecRunner.
- Running examples multiple times causes the afterSuite logic to
  misfire. Add a flag to World in order to prevent afterSuite from
  running in such a case.
- Add a bridging header to QuickTests in order to expose QCKSpecRunner
  to tests written in Swift.
- Add tests that check that failures are correctly reported.
FunctionalTests: Add BeforeEachTests

More work on #127: add functional tests for beforeEach.
FunctionalTests: Add AfterEachTests

More work on #127: add functional tests for afterEach.
FunctionalTests: Add PendingTests

More work on #127: add functional tests for pending.
FunctionalTests: Add BeforeSuiteTests

More work on #127: add functional tests for beforeSuite.

Also add a function that takes a list of spec classes and runs them in order.
FunctionalTests: Add AfterSuiteTests

More work on #127: add functional tests for afterSuite.
FunctionalTests: Add SharedExamplesTests

More work on #127: add functional tests for shared examples.