Fix crash when another subclass of XCTestObserver is injected

This fixes the crash when another subclass of XCTestObserver is
injected.

Such as:
* https://github.com/tokorom/GenerateTestCoverageFor_iOS7/blob/0.1.0/GenerateTestCoverageFor_iOS7/TKRGcovFluserTestObserver.h
* https://github.com/jonreid/google-toolbox-for-mac/blob/2981e05/UnitTesting/GTMCodeCoverageTestsXC.m

XCTestObserver allows us to use multiple test observers at the same time
by setting the XCTestObserverClass user default (See XCTestObserver.h).
So we need to ensure that the method swizzling by Specta won't crash
another observer.

Originally -startObserving is defined by Apple on XCTestObserver, which
is the superclass of XCTestLog. However, in Specta, we define
-spt_shouldProxyToSPTReporter on XCTestLog and calling it in
the swizzled -startObserving.
Thus, if -startObserving of a *direct subclass* of XCTestObserver
(i.e. not a subclass of XCTestLog) is invoked, the object does not
respond to -spt_shouldProxyToSPTReporter and it crashes.

This change fixes the crash by defining and swizzling the methods in
XCTestObserver instead of XCTestLog.
Merge pull request #63 from yujinakayama/fix-crash-with-multiple-observer

Fix crash when another subclass of XCTestObserver is injected