cmd/weave: move weave to a common location

Move the weave program out of the gotypes directory
so it can be used by other example documents.

It will soon be used for a document on writing slog handlers.

Change-Id: I38255e276e744e323695afaa66830107aa17d4d1
Reviewed-on: https://go-review.googlesource.com/c/example/+/494441
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/gotypes/Makefile b/gotypes/Makefile
index 8d40c92..4bed56d 100644
--- a/gotypes/Makefile
+++ b/gotypes/Makefile
@@ -2,8 +2,8 @@
 all: README.md
 	go build ./...
 
-README.md: go-types.md weave.go $(wildcard */*.go)
-	go run weave.go go-types.md >README.md
+README.md: go-types.md ../internal/cmd/weave/*.go $(wildcard */*.go)
+	go run ../internal/cmd/weave go-types.md >README.md
 
 # This is for previewing using github.
 # $HOME/markdown must be a github client.
diff --git a/gotypes/weave.go b/internal/cmd/weave/weave.go
similarity index 100%
rename from gotypes/weave.go
rename to internal/cmd/weave/weave.go