addFailure was firing Events::TEST_AFTER

addFailure, called when can* functions like canSee fail, was firing
Events::TEST_AFTER which is meant to clean up after a test.  This
was causing errors if further tests were called after it as modules
would be in an uninitialized state.

This should fix #1229.  I had a look around to see how a failed can* functions can be tested but couldn't figure it out.  If there's a way, let me know and I'll look at adding something.