Fix race condition during connect().

For https://datastax-oss.atlassian.net/browse/PYTHON-68

On python3, we occasionally see connection failures because the socket
is closed before the connect() is attempted. This is caused by the
asyncore event loop thread closing the socket prematurely. I suspect
this bug exists on python2 as well, but happens more often on python3
because of its more responsive thread scheduler. This patch causes the
the socket to be watched by the event loop only after the connect()
completes successfully.
Merge pull request #127 from ccstolley/fix_connect_race

Fix race condition during connect().
Support v2 protocol authentication

Fixes #125, PYTHON-73
Merge branch 'master' of https://github.com/datastax/python-driver
Add blist.sortedset to cql encoders
Merge pull request #129 from EverythingMe/master

Add blist.sortedset to cql encoders
Debug log when responding to auth challenge

Relates to #128
Fix Cluster._is_shutdown check in decorator
Log DC details about discovered hosts
Avoid unneeded rebuild of token replica map
Merge branch '1.x'
Avoid rebuilding token metadata when topology has not changed
Avoid preparing queries against ignored hosts
Merge branch '1.x'
Update changelog
Merge branch '1.x'
Add link to cassandra.concurrent in Performance docs
Move auth_provider validation to attr setter
Add Security docs page
Create Upgrading section of docs