Adds an improved PhantomJS test runner.

This version uses the special abbot urls to get the list of tests to run.
This means it can be used to run the SproutCore unit tests, but also to
run the unit tests for your SproutCore app.

This makes use of the callPhantom API in PhantomJS to get detailed
results of the tests without needing to screen scrape.

Output will be the results for each test file. Any failing assertions will
be output as well. You can make this more verbose with -v and -V.
Exit status will be 0 if all tests pass, 1 if any tests fail, and 2 if
the test runner itself encounters an error.

To run, do:
  > phantomjs phantomjs/test_runner.js

Use the -h option to get details on how to use it.

In addition, I updated the Travis CI configuration to use this.
It is set to run all tests except for those in the experimental frameworks.
Improved the test runner filtering.

Can now do --include-targets or --exclude-targets to filter out targets.
Added this to the travis configuration to exclude greenhouse tests for now.
Used the wrong target name to exclude greenhouse tests.

Got it right this time.
Merge pull request #1085 from FernCreek/patch/fairbanksg/improved-phantomjs-runner

Adds an improved PhantomJS test runner.