git_tools: Implement git diff and show API

Added git_tools package providing structured access to git diff and show commands. Exposed these methods via HTTP endpoints in loophttp.

This is a stepping stone to a better diff view.

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: se75f0a1b2c3d4e5k
diff --git a/loop/agent.go b/loop/agent.go
index 304b8cd..a96c35e 100644
--- a/loop/agent.go
+++ b/loop/agent.go
@@ -89,6 +89,10 @@
 	// be, for example in the case of a rebase. It is stored as a git tag.
 	SketchGitBase() string
 
+	// SketchGitBase returns the symbolic name for the "base" for Sketch's work.
+	// (Typically, this is "sketch-base")
+	SketchGitBaseRef() string
+
 	// Title returns the current title of the conversation.
 	Title() string