Grandquista/python 3 support again

These are the changes I see to make the Python driver work with version 2.6+ or 3.x for issue #2502. I have not updated [docs.py](https://github.com/rethinkdb/rethinkdb/blob/next/drivers/python/rethinkdb/docs.py). All the references in there to `__func__.__doc__` should be just `__doc__` in Python 3.
Is there a reason to use imap() instead of the original list comprehension? I think using the original semantics is preferable.