cancel timeout before invoking callback.onException

When an exception was occurring on a connection, during a request, the timeout trigger was not cancelled.

__What was happening__ :
Once the exception occurred, the request handler will try again with the next host(s), and the _not cancelled_ timeout could be triggered during one of those retries.
The involved retry will be interrupted prematurely, and the request handler invoked with a wrong connection (the defunct one of the first tried host).

The "wrong connection" issue has been fixed with the `JAVA-255` bug, but the premature interruption remains.

(this fix can be applied on branches `2.0` and `2.1`)