Create the intermediate directory if required
adding Known Issues to README
bump to v0.1.1
fixed error when doing -reporter SOME_REPORTER:somefile.txt

If you specified a file but no path (i.e. 'somefile.txt' rather than
'path/to/somefile.txt'), it would show an error...

ERROR: Failed to create folder at ''.

Tested with...

```
./xctool.sh -project xctool/xctool-tests/TestData/TestProject-Library/TestProject-Library.xcodeproj -scheme TestProject-Library test -reporter json-stream:/tmp/b/c/d.txt
```

and

```
./xctool.sh -project xctool/xctool-tests/TestData/TestProject-Library/TestProject-Library.xcodeproj -scheme TestProject-Library test -reporter json-stream:somefile.txt
```
bumping to v0.1.2
less NSTask faking, easier Options testing via Options+Testing

Options+Testing adds some categories for making Options validation
testing easier.  You no longer have to worry about fake tasks and the
ugly `ReturnFakeTasks` function for most Options testing - instead we
use a fake implementation of XcodeSubjectInfo that skips the NSTask
invocation when under test.
adding Common dir to hold shared code, moving Swizze functions there.

I need to use the same swizzle functions across multiple targets, so
lets stick them in this Common dir.

We're going to just include the source files themselves rather than
making a library out of them - our targets will be a mix of MRR, ARC,
and GC-code, and iOS / Mac, so linking a common library is not possible.
adding FakeTaskManager to make it easier to fake out NSTask invocations

This makes it easier to mock out NSTask calls.  This is the beginning of
a journey to kill ReturnFakeTasks() and TaskInstance().
make some XCToolUtil functions always invoke the NSTask under test.

We want these functions to always invoke the NSTask so that we can
properly test them.
make everything use FakeTaskManager instead of ReturnFakeTasks

This hopefully makes a bunch of our tests easier to follow.
no more FakeXcodeSubjectInfo in Options+Testing - use FakeTaskManager

This saves us from invoking real NSTasks for `XcodeDeveloperDirPath()`
or `GetAvailableSDKsAndAliases()`, so our tests run faster.
use shared schemes for TestProject-App-OSX
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.
[xctool] reduce build-tests overhead by invoking xcodebuild only once
fixing analyzer issues
Merge branch 'master' into yiding/reduce-build-test-overhead

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