Unit-test API integration

## Big rewrite to use the [Sauce Labs unit-test api](https://saucelabs.com/docs/javascript-unit-testing-tutorial) ##

A couple of the config parameters have been removed: ```tunnelTimeout```, ```testTimeout```, ```testReadyTimeout```. Removed because they are no longer really under our control.

The ```onTestComplete``` callback now returns the js object of all the test results exposed to the unit-test api, instead of just returning a boolean.

Code needs to be added to test pages to expose the results to Sauce, so I brought in the mocha code, replacing the  git submodule. (That's why so many files are listed as 'changed').

The Sauce Labs unit-test api currently only gives special reporting on the web dashboard for jasmine and qunit tests, so it may show YUI and mocha tests as having failed. The api will be updated to support these. The returned JSON response correctly reports test success and failure, so grunt-saucelabs is still reporting correctly.

Check the updated README for how to expose unit-test results to Sauce.