Client retries if connection is not healthy(meaning its heartbeat is tim...

...ed out). ClientCallFuture does not return null when timeout, rethrows the exception.

fixes #2593