Fix multiple bugs related to control connection timeout and schema refresh.

1. The Cluster's class-level 'control_connection_timeout' variable was never used
2. ControlConnection.wait_for_schema_agreement() ignored the timeout passed from Cluster and always used hard-coded 2.0
3. Still wait_for_schema_agreement() if an OperationTimeoutError occurred there was no sleep between attempts, which caused test_refresh_schema_timeout() to hang because it used FakeTime and no FakeTime ever elapsed. It is also very tight busy waiting, which is sub-optimal.

My changes are:

1. Use the Cluster's class level 'control_connection_timeout' as the default for the __init__() argument
2. In wait_for_schema_agreement() use the self._timeout (passed  from Cluster) to compute the actual timeout
3. Added poll_interval = 0.2, and sleep when an operation times out before attempting again (fixes the test and makes the busy waiting more relaxed)
Makes execute_concurrent function compatible with Python 2.6
Merge pull request #197 from victorpoluceno/master

Makes execute_concurrent function compatible with Python 2.6
PYTHON-155 + authentication test
Test should skip if run with PROTOCOL_VERSION=1
Python SortedSet for platforms without blist

Fixes PYTHON-104
Fixes PYTHON-167
Addresses CASSANDRA-8030

For nested UDTs and collections, the set we return must accommodate
non-hashable objects (built-in set does not).
Change to 'sortedset' to match cqlsh type mapping.

also made eq, ne comparisons more robust for other types
Handle CUSTOM index meta and string export
Changelog catch-up
Added support for PROTOCOL_VERSION=1
Merge pull request #199 from datastax/PYTHON-155

PYTHON-155 + authentication test
Allow DCAware LB to default local_dc based on contact_points

PYTHON-148
Set routing key in BatchStatement.add() if none specified

PYTHON-126
More changelog catch-up
Error handling for bad column names in named tuple

Emit warning with workarounds when named_tuple_factory is used with
result column names that can't be used in namedtuple.
Try to return results with renamed, positional column names.
Improve documentation of function with explicit args

Makes it explicit that concurrency and raise_on_first_error are
supported by this alternate function.
Trivial: fix typos; improve docstring example

It's not explicit that the alternate function accepts all the arguments
of execute_concurrent until looking at the source code. I think that
adding the concurrency=50 argument to the example in the docstring
satisfies this.

My first idea was to explicitly name the concurrency and
exit_on_first_error args, but then we'd have to maintain two functions
in the future instead of of one.
Merge pull request #204 from datastax/PYTHON-122

Error handling for bad column names in named tuple
Use alredy generated hosts list in assignment.

Code review tweaks
Merge pull request #202 from datastax/PYTHON-148

Allow DCAware LB to default local_dc based on contact_points