Add support for Python3

This is going to be a *de gustibus* argument:  I won't merge the patch with the "from __future__" imports, because I want text vs. bytes to be explicit everywhere (to allow for actual "native" strings in the case where they are required).