rpc: always shutdown socket when stopping a client
rpc: always shutdown socket when stopping a client

When stopping a client socket::shutdown() needs to be called to abort
send and receive loop, but it is skipped if _error flag is already set.
Set _error flag does not mean though that both loops already aware
that they need to shutdown.

The path calls the shutdown() unconditionally. It is safe to call
socket::shutdown() if the error left an underlying socket disconnected
since shutdown() does not throw in this case.

Refs scylladb/scylla#6060

Message-Id: <c5f2ed03ca71e159f7faa0d51e96cc87cc07896c@scylladb.com>

scylladb/seastar,dreamsxin/seastar,avikivity/seastar,syuu1228/seastar,avikivity/seastar,syuu1228/seastar,cloudius-systems/seastar,dreamsxin/seastar,avikivity/seastar,cloudius-systems/seastar,scylladb/seastar,syuu1228/seastar,cloudius-systems/seastar,scylladb/seastar,dreamsxin/seastar