storage_proxy: do not fail read without speculation on connection error
storage_proxy: do not fail read without speculation on connection error

After ac27d1c93b06bd6de86 if a read executor has just enough targets to
achieve request's CL and a connection to one of them will be dropped
during execution ReadFailed error will be returned immediately and
client will not have a chance to issue speculative read (retry). The
patch changes the code to not return ReadFailed error immediately, but
wait for timeout instead and give a client chance to issue speculative
read in case read executor does not have additional targets to send
speculative reads to by itself.

Fixes #3699.
Message-Id: <2d5fdfb82104bb525639f8e6777b25b3b522a573@scylladb.com>

scylladb/scylla,avikivity/scylla,scylladb/scylla,avikivity/scylla,scylladb/scylla,avikivity/scylla,scylladb/scylla