* wdclient: cover a lapsed caller deadline that Err() has not observed yet
* wdclient: reuse isCanceledErr for the elapsed-deadline check
* wdclient: reinterpret only deadline errors as caller-gave-up
isCanceledErr also matches gRPC Canceled, which a filer can return for
its own reasons; treating it as an elapsed caller deadline hid the
failure from the filer's health record. The fallback now matches only
context and gRPC DeadlineExceeded, so filer-side cancellations keep
counting as filer failures.