test: Clean up EventEmitter tests

Use array sequences to assert the behaviour of multiple actions
instead of making multiple separate assertions.

This makes the tests easier to understand and maintain and less
likely to silently fail due to the number assertions matching
(one error cancelling another).

Especially the '.off()' tests were quite hacky.

Change-Id: I8d089460bfe00e4ae4c8a4612948a89c5a2ab09d