support connect and socket timeout options, update the docs
python 3 compatibility

python 3 doesn't have unicode or long types, so those aren't checked
against in it
Revert "python 3 compatibility"

This reverts commit 7e788a8c60a7f65cc017c626b823b7c1b5bfb1ff.
Revert "Revert "python 3 compatibility""

This reverts commit da67ede9c96c89c0ce1a5186a8853f3080c98a16.
fix for python 2.6
python 3.3
better check for python 2

same as Flask and Werkzeug
Merge commit '632c1607bae5cb33fb277492245c022245e3e5cc'

Thanks @ultrabug
add changelog note on connect/socket timeouts
improve ReadPreference handling
doc tweaks
Merge commit '82c7afcda956101ad33e4694be69a372c31e5e26'

Thanks @Vizzy
one new place that needs Py3 support
update docs for pull #27
nitpick whitespace