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

What happens if this promise is rejected after the timeout expires? Will it result in an uncaughtException?