service/storage_proxy: Consider target liveness in sent_to_endpoint()
service/storage_proxy: Consider target liveness in sent_to_endpoint()

So we don't attempt to send mutations to unreachable endpoints and
instead store a hint for them, we now check the endpoint status and
populate dead_endpoints accordingly in
storage_proxy::send_to_endpoint().

Fixes #3820

Signed-off-by: Duarte Nunes <a60e8b7496f7715d71354fe4c06dd24017025bf1@scylladb.com>
Message-Id: <20181007100640.2182-1-a60e8b7496f7715d71354fe4c06dd24017025bf1@scylladb.com>

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