Py3 fixes

This picks up where #8 left off.
I'm worried about this affecting other types of promises.  Are there other types of promises?