Python3 needs BytesIO not StringIO

Doubtless I'll have to change this in a number of places.
*Don't* encode each unicode header.

This probably breaks stuff, which is why it's only commented out.