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.
I have tests on Python 3 for my personal projects that `map` is faster and memory efficient. The lines are functionally equal, and I am willing to revert the use of `map`. I changed it because I was updating `cPickle` to `pickle` for the consistent interface.