Add Python 3 compatibility by not using the python-avahi module. Also fix miscellaneous things which differs in Python 3. Especially hard to fix is loading and saving clients data between Python 3 and 2, since pickle formats have problems with strings.
* INSTALL: Remove python-avahi (and change python-gobject to python-gi, which is preferred now). * debian/control (Source: mandos/Build-Depends-Indep): Remove "python-avahi". * mandos: Wrap future_builtins import in try-except clause. Do not import avahi module. Use codecs.decode(..., "base64) instead of .decode("base64). Use .keys(), .values(), and .items() instead of .iterkeys(), .itervalues(), and .iteritems(). (alternate_dbus_interfaces/wrapper): Python 3 still requires the "black magic", but luckily it still works. The Python 3 type() constructor requires first argument to be a string, not a byte string. (copy_function): New. Use throughout. (Avahi, avahi): New class and global variable. (GnuTLS._need_version): Changed to be a byte string. (main): Decode byte strings loaded from pickle file. (main/cleanup): Dump using pickle prototoc 2 which Python 2 can read.