Add a centralized ui module with Arc's visual identity: colored commit
IDs (magenta), bookmarks (cyan), tags (yellow), status symbols, and
diff highlighting. Update all command output and tests accordingly.
- Add src/refs.rs with mark_add/rm/list/rename, tag_add/rm/list, switch
- Bookmarks stored as YAML RefTarget files in .arc/bookmarks/
- Tags stored as YAML RefTarget files in .arc/tags/ (immutable)
- Switch reconstructs worktree from delta chain, checks for dirty state
- Add error variants: BookmarkNotFound, BookmarkAlreadyExists, TagNotFound,
TagAlreadyExists, CannotRemoveActiveMark, DirtyWorktree
- Wire up CLI dispatch for mark, tag, and switch commands
- Fix cli.rs tests to run mark/tag list within a repo context
- Add 35 new tests across tests/mark.rs, tests/tag.rs, tests/switch.rs