Switch to built in XCTest async
Fix multiple requests for same image and then canceling one
Cancel the download operation if it's the last token to be canceled
Move progress / completion handler logic to the operation
Don't create a new image for each completion block
Add back some required locking
Switch to Xcode 6 async tests