Combined projects

Contains the following merges:
https://github.com/cocos2d/cocos2d-swift/pull/1019
https://github.com/cocos2d/cocos2d-swift/pull/1020

This cannot be merged until @collinjackson's ObjectAL pull request is merged here:
https://github.com/spritebuilder/ObjectAL-for-Cocos2D/pull/2

Also combines the Mac/iOS ui-tests projects into a single project so we have many fewer duplicate projects floating around instead of one more. Still working on adding an Android ui-test target. This should make testing on all of the platforms a lot less painful in the future hopefully!
Ah. So figured out what the problem was. _XCTRegisterFailure() takes an extra parameter now for the current test case. Looks like those implementation macros were supposed to be private and changed in the new SDK.

Is the following an acceptable replacement?
```
#define CCAssertEqualStrings(a1, a2, format...) ({ \
	id a1value = (a1); \
	id a2value = (a2); \
	XCTAssertTrue([a1value isKindOfClass:[NSString class]], format); \
	XCTAssertTrue([a2value isKindOfClass:[NSString class]], format); \
	XCTAssertEqualObjects(a1value, a2value, format); \
});
```

Not really sure I understood the reasons for why it was implemented the way it was though. (custom assertion ves XCTAssertEqualObjects(), -compare: vs. -isEqual:)