Raised when a node invocation exceeds one of its configured timeouts.
Does not inherit from the built-in TimeoutError (a subclass of
OSError) so that the default RetryPolicy treats it as retryable.
Both idle_timeout and run_timeout reflect the configured policy at the
time of the failure (each is None if not configured). kind and
timeout identify which one fired.