Python3 really seems to need the exception value.
Massive ammounts of messing with unicode to get python 3 to pass tests.
Don't assume http server will write each line in a separate write operation.
To work with py2 and py3 we need to yse sys.exc_info rather than an exception instance (it seems).