This avoids error when calling `unicode(e)` when `e` is a `TracError` containing an unicode message. Without the present change, `e` would first be converted to a `str`, ''then'' that `str` to an unicode object. Needless to say, the first conversion will usually trigger an UnicodeEncodeError, as the default character set is usually 'ascii'.
Fixes #5981, thanks to Shun-ichi Goto for the patch.