Use Node domain to handle asynchronous exceptions

This is mainly an attempt at fixing asynchronous exception throwing when running Cucumber with Protractor. See https://github.com/angular/protractor/issues/876.