New ccmlib api changes.

ClusterFactory.load instead of Cluster.load
node.get_install_dir instead of node.get_cassandra_dir
Make ccmlib api changes for setting install_dir and version
Merge branch 'master' into ccm_develop
Merge branch 'master' into ccm_develop
Check for TimeoutError on replace_active_node_test

If C* hasn't complained about the invalid
-Dcassandra.replace_address argument by the time
ccm makes the nodeerror check, a timeout error
will be thrown instead. This happens consistently
on windows and is possible on linux.
Check for timeout on replace_nonexistent
Test conditions on frozen collections
Merge branch 'master' into ccm_develop
Merge branch 'master' into ccm_develop

Conflicts:
	dtest.py
Add test for 7188
Insert data during upgrade
Lower RF to 2. Increase write count.

Based on Aleksey's recommendations.
Merge branch 'master' into ccm_develop
Restrict 1.2->2.0 upgrade tests to being run on 2.0 or higher
Add comments explaining upgrade path
Merge branch 'master' into ccm_develop
Fix TestPutGet.wide_slice_test - since we can't do CQL2 any longer, I have refactored the code to use CQL3 compact storage semantics.
remove unused protocol_version on putgettest
Adds auth tests for user types and functions.
Patch from Rajanarayanan Thottuvaikkatumana

See https://issues.apache.org/jira/browse/CASSANDRA-7607
Add test for #8139