Swizzler makes swizzling (and unswizzling!) easier.

It gives you an easy way to undo swizzling, which is convenient for
tests.
when running tests, include whatever args or env vars were set in the scheme.

Xcode lets you pass extra arguments or environment vars to your tests
when they're run.  By default, it'll pull whatever you've configured in
the Run action of the scheme editor.  Optionally, it can also pull these
from the Test action of the scheme editor.

Let's make sure these args or env vars get passed through to the tests.

This is partial fix for issue #34.  Xcode also allows these arguments or
environment variables to include macro expansions from the test target's
build settings.  For instance, you could set the env var
'MyConfiguration' to '$(CONFIGURATION)' and it will do the substitution
for you.  We'll tackle that in another change.
typo: reproters -> reporters
use EventQueue() instead of __eventQueue

We used to initialize __eventQueue in the 'constructor' for our lib, but
instead lets do it on-demand.

It turns out that it's possible one of the write functions we're
interposing gets called before our constructor gets run.  In that
case, the interposed write() was trying to use an uninitialized
EXC_BAD_ACCESS and then crashing.
support for macro expansion in the scheme's configured args and env vars

In Xcode, the Run or Test actions let you specify arguments or
environment variables that include macros - i.e. $(ARCHS) - that get
expanded based on build settings.
fixing analyzer issues
Merge branch 'master' into yiding/reduce-build-test-overhead

Conflicts:
	xctool/xctool.xcodeproj/project.pbxproj
	xctool/xctool/XcodeSubjectInfo.m