First attempt at CASSANDRA-7163

This does not work on C* 2.1 due to 7437. I also had to
remove the cas_simple_test because it uses a different
cluster type than the rest of the class.
Moved setup logic back to base class
Use Python Decorator to enable cluster preservation
Correct typo in __init__
Added tearDownClass

When a test run ends on a passing run, the cluster
was not being destroyed. tearDownClass is automatically called
after the final test, and now ensures the cluster is removed
as well as the test_path
Use KEEP_TEST_DIR in tearDownClass
Move all get_cluster logic to dtest

Now all a test needs to use the new features is to
be decorated with @reuseCluster.
Require env var to use cluster preservation

This allows tests to use separate clusters in case
issues arise in the future.
Remove uneeded require
Added freshCluster decorator

This is for tests that require their own cluster but are in
a class marked by canReuseCluster.
Use freshCluster on cql_tests
Merge branch 'python-driver' into 7163

Conflicts:
	cql_tests.py
	dtest.py
Correct merge error.
Reuse clusters in batch test
Merge branch 'python-driver' into 7163

Conflicts:
	cql_tests.py
Merge branch 'python-driver' into 7163
Update instructions for 7163
Remove cluster reuse from batch_test
Merge pull request #85 from riptano/7163

CASSANDRA-7163