Improved test case failure messages
Invoking listeners that are registered during emit

Previously the implementation was collecting all matchers and listeners
to invoke up front. This behavior was refactored so that the listeners
for each phase are collected right before executing the phase. Therefore
new listeners can be added to later phases and will be invoked on the
same event.

This means that listeners can be added to later phases only while adding
them to previously executed phases or the current phase will not have an
effect on the current emit.
Fixed view.removeAllListeners()