fix sauce connect false negative on startup connect failure

Hello,
I have been investigating some issues with our usage of SauceLabs Connect via the Jenkins Sauce OnDemand plugin.

I believe I have found and fixed an issue where though AbstractSauceTunnelManager has detected a timeout starting SauceConnect it still reports / acts as-if the process completed successfully and so the test job will proceed with running tests without the expected tunnel.

A corresponding change to the OnDemand Plugin's SauceOnDemandBuildWrapper.SauceConnectStarter class to handle the new AbstractSauceTunnelManager.SauceConnectDidNotStartException in a reasonable way may be advisable.  I plan to look at that aspect of the integration and deploy our fork to our internal Jenkins instance when I get back to work on Monday.

However, I wanted to give you a chance to look at this change and ask you for your feedback on it in advance of that to ensure the approach is reasonable.

If nothing else, this branch fixes and enhances the SauceTunnelManagerTest (was SauceConnect2Test) so that it not only runs, but tests both SauceConnectTwoManager and SauceConnectFourManager.  If this approach is ok, I will add further tests to verify operation of tunnels using a tunnel identifier with SauceConnectFour, which is our main use-case.

Regards,
Stephen
Throw an exception instead of proceeding with failure 'silently' from the perspective of the user of openConnection.