Issue #7563 - Allow mocha timeout to cancel flow.

This pull request is an attempt to address the issues described in https://code.google.com/p/selenium/issues/detail?id=7563

>  I guess my only concern would be since the current promise (or subsequent promises) could make actions with side-effects on the current web browser, it might impact other tests (that have already done their test setup code)

This is the cost of running non-hermetic tests.  If you create a new WebDriver instance for each test run, you won't have to worry about the previous run modifying the browser for the current test.