The v1 give-up rebind heals a dead 5-tuple only at ~90s, while users probe
within the first seconds after device wake. Two new triggers over the same
action and shared debounce window:
- early: >=3 unanswered initiations against a provably dead session (no live
keypair, or last handshake older than RejectAfterTime) rebind at ~15s from
the retry branch; a live session keeps byte-for-byte upstream behaviour;
- nudge: public Device.RebindIfSessionStale() lets the consumer report a
device wake-up and heal stale peers immediately, without traffic demand.
The whole mechanism now lives in device/lx_giveup_rebind.go (moved from
device.go to keep the upstream file delta minimal); the rebind log line
carries the trigger label.