Move to specta/specta, specta/expecta, and XCTest

1 test was failing for me before and is still failing for me.

The tests depended on an addition to github/specta that allowed a cleanup phase to run after every example. Since specta/specta doesn't have this, I added a `afterEach(^{ [self tearDown]; })` to the bottom of each spec. It's not pretty, but it works.
Do we want to change this to use `XCTAssertEqualObjects` or expecta?