Fix #720: nose with detailed errors raises encoding error

In this case, the exception vector being passed in was a string that
contained encoded UTF-8 sequences.  It was being converted to unicode
implicitly, which was raising a UnicodeDecodeError because some bytes
were >= 128.  Make sure the exception string is converted to unicode
before trying to put the whole thing together.

Thanks to Guillaume Ayoub for the test case.