internal/lsp: fix lockup for packages with many files

We should not be sending messages from within the telemetry worker. This does it in a new go routine now.

Change-Id: I55e3b6df04699b8e45bc37b99997463f45ee114e
Reviewed-on: https://go-review.googlesource.com/c/tools/+/186958
Run-TryBot: Ian Cottrell <iancottrell@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/internal/lsp/protocol/context.go b/internal/lsp/protocol/context.go
index 7a30c1d..748edaf 100644
--- a/internal/lsp/protocol/context.go
+++ b/internal/lsp/protocol/context.go
@@ -35,6 +35,6 @@
 	if entry.Error != nil {
 		msg.Type = Error
 	}
-	client.LogMessage(xcontext.Detach(ctx), msg)
+	go client.LogMessage(xcontext.Detach(ctx), msg)
 	return true
 }