Wire restore flow into unified session
Add a Resolve screen adapter that bridges the menu/preset phase and the command-specific phase within a single tea.Program. After the user selects a command and preset, the resolve screen calls config.Resolve to determine which screens are needed, builds them, and injects them via ExtendMsg + DoneCmd (using tea.Sequence to guarantee ordering). The restore flow now runs as one continuous session with full breadcrumb and back-navigation through all screens: menu → preset → resolve → snapshot → file picker → target → overwrite Skip logic matches the existing promptRestore semantics: - Snapshot screen omitted when config already has arguments - File picker omitted when include flags are already set - File picker's loader returns nil for snapshotID:subfolder syntax - Target screen omitted when config has --target - Overwrite screen omitted when config has --overwrite runInteractive now returns overrides from completed screens, which are converted to raw CLI args and passed to runCommand. This means runCommand's existing promptForCommand path handles the overrides via its normal merge logic. Tested interactively: bare keld → menu → preset → snapshot (manual) → file picker (notice) → target → overwrite → all screens show in breadcrumb, Esc navigates back with state preserved, Ctrl+C exits cleanly.