Coerce null options to empty string to avoid NPE.
Add sauce-rest-api test dependency so that SeleniumFactory.create() will succeed in tests
instead of throwing a ClassNotFoundError:
java.lang.NoClassDefFoundError: com/saucelabs/rest/Credential
	at com.saucelabs.sauce_ondemand.driver.SauceOnDemandSPIImpl.populateParameterMap(SauceOnDemandSPIImpl.java:90)
	at com.saucelabs.sauce_ondemand.driver.SauceOnDemandSPIImpl.createSelenium(SauceOnDemandSPIImpl.java:63)
	at com.saucelabs.selenium.client.factory.SeleniumFactory.createSelenium(SeleniumFactory.java:280)
	at com.saucelabs.selenium.client.factory.SeleniumFactory.createSelenium(SeleniumFactory.java:255)
	at com.saucelabs.selenium.client.factory.SeleniumFactory.create(SeleniumFactory.java:70)
Transform SauceConnect2Test into SauceTunnelManagerTest:
* modify it so both SauceConnect2 and SauceConnect4 are tested
* instrument fullRun method so it is clear where the time goes
* refactor webserver startup so that it is only started once at the beginning of the first test and torn-down at the end of all tests
Throw an SauceConnectDidNotStartException instead of ignoring the failure to launch.
Merge pull request #4 from shutterfly/TRE-2032-fix-sauce-connect-false-negative-on-startup-connect-failure

fix sauce connect false negative on startup connect failure