Resets claimed tasks that have been held longer than timeout seconds back
to pending (clearing owner + claimed_at) so another worker can pick them up.
This is the crash-recovery half of the coordinator: a worker that dies after
claiming a task would otherwise block its dependents forever. Called from the
worker loop's idle branch, so recovery happens without a separate lead.