claudetool/codereview: new package extracted from claudetool

Co-Authored-By: sketch <hello@sketch.dev>
diff --git a/loop/agent.go b/loop/agent.go
index f5f40ed..2f0e56d 100644
--- a/loop/agent.go
+++ b/loop/agent.go
@@ -20,6 +20,7 @@
 	"sketch.dev/browser"
 	"sketch.dev/claudetool"
 	"sketch.dev/claudetool/bashkit"
+	"sketch.dev/claudetool/codereview"
 	"sketch.dev/experiment"
 	"sketch.dev/llm"
 	"sketch.dev/llm/conversation"
@@ -292,7 +293,7 @@
 	originalBudget    conversation.Budget
 	title             string
 	branchName        string
-	codereview        *claudetool.CodeReviewer
+	codereview        *codereview.CodeReviewer
 	// State machine to track agent state
 	stateMachine *StateMachine
 	// Outside information
@@ -775,13 +776,13 @@
 		}
 		a.initialCommit = commitHash
 
-		llmCodeReview := claudetool.NoLLMReview
+		llmCodeReview := codereview.NoLLMReview
 		if experiment.Enabled("llm_review") {
-			llmCodeReview = claudetool.DoLLMReview
+			llmCodeReview = codereview.DoLLMReview
 		}
-		codereview, err := claudetool.NewCodeReviewer(ctx, a.repoRoot, a.initialCommit, llmCodeReview)
+		codereview, err := codereview.NewCodeReviewer(ctx, a.repoRoot, a.initialCommit, llmCodeReview)
 		if err != nil {
-			return fmt.Errorf("Agent.Init: claudetool.NewCodeReviewer: %w", err)
+			return fmt.Errorf("Agent.Init: codereview.NewCodeReviewer: %w", err)
 		}
 		a.codereview = codereview
 
diff --git a/loop/donetool.go b/loop/donetool.go
index b5358e9..48818d6 100644
--- a/loop/donetool.go
+++ b/loop/donetool.go
@@ -6,7 +6,7 @@
 	"fmt"
 	"strings"
 
-	"sketch.dev/claudetool"
+	"sketch.dev/claudetool/codereview"
 	"sketch.dev/experiment"
 	"sketch.dev/llm"
 )
@@ -16,7 +16,7 @@
 // not as reliable as it could be. Historically, we've found that Claude ignores
 // the tool results here, so we don't tell the tool to say "hey, really check this"
 // at the moment, though we've tried.
-func makeDoneTool(codereview *claudetool.CodeReviewer, gitUsername, gitEmail string) *llm.Tool {
+func makeDoneTool(codereview *codereview.CodeReviewer, gitUsername, gitEmail string) *llm.Tool {
 	description := doneDescription
 	if experiment.Enabled("not_done") {
 		description = backtrackDoneDescription