client-side testing using sauce labs

This is a first attempt at setting up client-side testing using saucelabs.com. It has a number of issues so I'm extra interested in feedback.

Known tricky bits:
* The webdriver for iphone 7 hangs, causing (a) the saucelabs session to timeout and (b) the travis job to timeout and thus fail.
* Some of the tests are failing with reported reason `null` which confuses me given the code path.
* There are other failures for reasons that don't appear to relate to testing ("Could not find element with id: results", "Unable to get element text").
* This is still using the credentials for my saucelabs account, and those should be changed if/when this PR is merged.

There do appear to be a few legitimately failing tests:
* ch09/9.2/9.2.1_2.html on chrome 31 "Client code can adversely affect behavior: setter for 0"
* ch09/9.2/9.2.6_2.html on chrome 31 "Client code can adversely affect behavior: setter for 0"
* ch11/11.2/11.2.2_b.html on chrome 31 "Client code can adversely affect behavior: setter for 0"
* ch12/12.2/12.2.2_b.html on chrome 31 "Client code can adversely affect behavior: setter for 1"