Repository abstraction layer for Rustik tools.
Expanding hunk context means rerunning a diff at a different unified-context
width. The [Repo] trait keeps that repository access behind a small
boundary so diff viewers stay I/O-free and testable; [GitRepo] is the
git diff implementation used by the rustik-diff pager. The trait yields
raw unified-diff bytes — parsing is left to the caller, so this crate
carries no diff-format dependency.