auto-388: connect to other nodes if one node fails

- tests not yet completed
- Need advice on REVIEW code
clock as arg; more tests

also taking max_tries and interval as argument
Merge branch 'master' into auto-388-reconnection
adjusted tests for recent merge

Recent commit 706bab about round robin broke the tests. Adjusted them.
Also added docstrings in other places
execute does not use _client - addresses @dreid comment

Instead internally increments client index to not accidentally allow some other caller to use index
while it is hopping between cass nodes. While moving to cass nodes, it sets index.
Merge branch 'master' into auto-388-reconnection
not retrying when all nodes are down

- removed clock and other retry args.
- updated tests accordingly

Yet to add test for race condition @dreid mentioned
added multiple client call test
Merge branch 'master' into auto-388-reconnection

Conflicts:
	silverberg/cluster.py
	silverberg/test/test_cluster.py
remove unnecessary import
Merge pull request #17 from rackerlabs/auto-388-reconnection

AUTO-388: connect to other nodes if one node fails