Many updates for python 3 support.