Replace AsyncTestHelper with XCTestExpectation

Closes #1613 

Brings all unit tests green and removes the former `AsyncTestHelper` class which was fundamentally flawed since it was using a shared global variable to store the semaphore.  Now every asynchronous test uses an `XCTestExpectation` instance and if the expectation needs to be fulfilled by the main context saving, it is set on `CoreDataTestHelper.testExpectation`.  

This requires Xcode 6 beta 5 or greater to execute.

![2014-08-06_10-07-19](https://cloud.githubusercontent.com/assets/373903/3828896/d7636a72-1d7b-11e4-9442-3bc0a1fc516f.png)