go.tools/go/loader: make error message for massive failure (e.g. no "fmt") more concise.

LGTM=gri
R=gri
CC=golang-codereviews
https://golang.org/cl/126080043
diff --git a/go/loader/loader.go b/go/loader/loader.go
index 3800389..d495105 100644
--- a/go/loader/loader.go
+++ b/go/loader/loader.go
@@ -604,8 +604,13 @@
 			}
 		}
 		if errpkgs != nil {
-			return nil, fmt.Errorf("couldn't load packages due to errors: %s",
-				strings.Join(errpkgs, ", "))
+			var more string
+			if len(errpkgs) > 3 {
+				more = fmt.Sprintf(" and %d more", len(errpkgs)-3)
+				errpkgs = errpkgs[:3]
+			}
+			return nil, fmt.Errorf("couldn't load packages due to errors: %s%s",
+				strings.Join(errpkgs, ", "), more)
 		}
 	}