Add XCTest support

XCTest uses recordFailureWithDescription:inFile:atLine:expected:
instead of failWithException:

(cherry picked from commit 0f2a9f5c165d5788d05256bc819905b785b6f797)
added test case demonstrating @tibr's fix for line number marking in XCTest
added XCTestTest to ios test target
added XCTest target
fixed compile error when SenTestingKit is not present
updated assertion methods to use XCTAssert* macros when run with XCTest
updated all tests to extend the appropriate base test class when run under OCUnit or XCTest
added test to verify XCTest failure method is called with the correct arguments
removed failing test, moved XCTest support directory under tests
removed warnings. minor clean up