Tests with TEST_UNICODE_LITERALS don't report errors correctly

I noticed this while working on #2981 but have seen it a couple other times.

For a test that uses the ``#TEST_UNICODE_LITERALS`` plugin to test with and without unicode literals, the py.test reporting doesn't work.  If ``#TEST_UNICODE_LITERALS`` is in, all errors yield this:
```
E       AssertionError: (assertion failed, but when it was re-run for printing intermediate values, it did not fail.  Suggestions: compute assert expression before the assert or use --assert=plain)
```
This is particularly annoying in situations like #2981 where it's not easy for me to get one of the travis environments going locally.

@mdboom, I think you wrote ``TEST_UNICODE_LITERALS``, right?  Any idea what's going on here?