Wrap event handlers.

Users may specify their own event handler wrappers via:
```js
Oasis.configure('eventHandler', function (callback) { callback(); });
```

https://trello.com/card/add-the-ability-to-wrap-message-events-in-oasis-so-that-when-using-it-with-ember-we-can-wrap-them-in-a-run-loop/51a8c7c06d8a1a70030000dc/19
Try to make race errors clearer.