Python3 support!

@arokem and I banged this out in one day, after some sage advice from
@takluyver, who gave us the tools and the direction that we needed!