fix(cli): align open handler with contract — add inside-root resolution, contract-aligned payload
- Replace OpenCommandPayload with OpenCommandData matching open.md contract
(invocation, requested_path, resolved_path, resolution, app_launched,
brought_to_front, created_tab, target with worktree/tab/pane)
- Add inside-root resolution: paths inside existing worktree/repo roots
now resolve to parent root instead of being treated as new-root
- Add exact-root vs inside-root vs new-root vs no-argument resolution enum
- Wire invocation field from CLI parser (bare/implicit-open/open-subcommand)
- Add terminal snapshot provider for tab/pane info in response target
- Update tests: 9 tests covering all resolution paths, invocation derivation,
contract payload shape, router integration, and error handling
- Rename fm to fileManager in OpenCommand.swift (lint)
Addresses review feedback from @jarvis-elevated on PR #133.