Fix an error propagation bug when a command fails from bad inputs.

This fixes a bug where commands that had rejected promises as inputs
could not catch errors from those inputs. One example is trying to
catch a NoSuchElementError through a chained call to click:

driver.findElement(By.id('not-there')).click().thenCatch(function(e) {
if (e.code === NO_SUCH_ELEMENT) {
    // Handle element not found
}
});
Make event_firing_test.html pass in Firefox 24 ESR.
Moving asserts to tests' main flow
in 03feed0dcb4bbebff052672178819f6726b07ae8
revealed the fact that it never passed in Firefox 24 ESR
(apparently it swallows exceptions thrown from the event handlers?).