fix: time out stalled model calls; fail orphaned sessions on restart
- Add a 120s AbortController timeout to Bedrock and OpenRouter calls so a
stalled request fails fast instead of hanging a session in "running" forever
(observed: a reader call stuck 25min on the live deployment).
- On startup, mark any still-running/queued sessions as failed — after a
restart their in-process run is gone, so clients should stop polling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>