perf(monopam): skip monorepo scan and add .gitignore support to add_all
commit_pending was calling add_all on the monorepo (300k files including
_build/ and _opam/), causing push to hang. The monorepo is already
committed by the user, so skip it entirely. Also add .gitignore parsing
to add_all so ignored directories are never traversed, and only run
verify_cache on cache hits to avoid scanning 361k entries on every split.