precommit: optimize fix command with commit range and parallelism
- Add find_oldest_ai_commit to locate the first commit needing rewrite
- Use commit range (oldest^..HEAD) instead of rewriting entire history
- Process multiple repos in parallel with Eio.Fiber.all
This dramatically speeds up `precommit fix` for repos where AI
attribution is only in recent commits.