Add a Cargo workspace and the gigit-git crate master
Makes src-tauri a workspace member alongside a new crates/gigit-git, which holds git access and — later — the commit graph layout engine. Keeping it free of any Tauri dependency means the layout algorithm can be tested and benchmarked with plain `cargo test`, which is what the next changes need. gix ships batteries-included and its own docs recommend trimming rather than paying the compile time for everything. Only max-performance-safe (pure Rust, no C toolchain), sha1, and revision are enabled — revision being the commit walk the graph engine will build on. The crate exposes repository discovery and opening, HEAD, and reference listing. HEAD is modelled as three cases rather than an id with a nullable name, because an unborn HEAD in a fresh repository and a detached HEAD are both normal states the UI has to render, not errors. Reference kinds come from the namespace, since git has no type tag on a ref. Fixtures shell out to real git instead of writing objects with gix, so the tests check that we read what git actually writes rather than only that gix agrees with itself. They cover discovery from a subdirectory, open refusing to search upwards, all three HEAD states, every ref kind including a branch name containing a slash, and bare repositories. Cargo.lock is now committed, as it should be for an application. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>