Start of a python based test-runner.

Current set of features:
 * Spawns a local HTTP server to serve the tests and capture the results.
 * Uses selenium to fire up a browser and run the tests.
 * Downloads the needed Python packages automagically if needed.
 * Downloads the needed driver support binaries if needed.
 * Supports Chrome, Firefox and PhantomJS.
 * Supports the subunit protocol for output (can be use with testrepository).
 * Support for running a virtual display if needed.

Things coming
 * Should support IE under windows.
 * Support Android/IPhone.
 * Support running on "Selenium Grid".
 * Support for specifying Chrome/Firefox binary.

Basic usage
 ./run-tests.py -b PhantomJS
Removing a sperious print.
Using the testtools output rather then unittest.
Capture all info about tests.
Use input json rather then simplejson.
Changing the way the requirements/imports work.
pyscreenshot is needed by pyvirtualdisplay but not installed automatically.
Output message rather then json information.
Give more information when auto-installing.
Changing auto-install to look at the .requirements file.

Keep all the requirements in only one location seems a good idea.
Output as each test is run.
Fixing indentation.
Making output more verbose.
More logging information on chrome.
Adding support for using remote webdriver grid such as SauceLab's offering.
Try single-process mode.
Trying without sandbox.
Don't start up a virtual display even when requested on PhantomJS.
Actually make exit status code match test states. Make output even prettier.
Adding a verbose flag.