ExpectedException doesn't fail when an AssertionError is expected but not thrown

When a tests expects code under test to throw an AssertionError by using ExpectedException (together with the #handleAssertionErrors option) but the code doesn't do so the test is not failing. This is because the ExpectedException rule catches its own AssertionError issued to signal that the expected exception is not thrown.
The attached commits fix this.