STASHDEV-7788 Move the code to timeout remote operations from the remote node to the caller node

STASHDEV-7788 Remove the code to send CallTimeoutException responses
from remote operation threads back to the caller to indicate timeout.
These are expensive to deserialize (especially when the contents of
the CallTimeoutException are not used for anything anyway), and when
the queue is long can lead to an indefinitely growing queue of retried
invocations.
Currently we see the `CallTimeoutException` log messages when this issue manifests itself, which makes it very easy to diagnose. If we remove this we won't have that. What's the alternative until the other PR is merged?