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'm not sure that it's such a bad thing to clear the connection in the case of an error, even if we're not going to retry immediately—at least that way subsequent requests have the chance to get a fresh, and possibly working, connection. I'm open to being convinced otherwise, though. What do you think?