Touch up the connection retry code.

- Move retry description comments from #execute to
#execute_with_consistency.
- More paranoid check for max_retries.
- Re-order retry steps so that if max_retries == 0, we make no attempt
to recover.
I guess I wanted to address the case where the user sets `max_retries` to 0.  Is he saying that he does not want us to attempt recovery at all?  Perhaps he wants to handle it all on his own?  So what I did was arrange it so the maximum number of times `clear_active_connections!` could be called is equal to `max_retries`.