go/loader: name unnamed packages so errors make sense

Add tests for:
- this naming
- missing file in created package

Change-Id: I07c66b66e845c52d4685509c362b34f1f0c92648
Reviewed-on: https://go-review.googlesource.com/6310
Reviewed-by: Robert Griesemer <gri@golang.org>
diff --git a/go/loader/loader.go b/go/loader/loader.go
index 74ac6ee..16ccd24 100644
--- a/go/loader/loader.go
+++ b/go/loader/loader.go
@@ -729,8 +729,12 @@
 		files = append(files, cp.Files...)
 
 		path := cp.Path
-		if path == "" && len(files) > 0 {
-			path = files[0].Name.Name
+		if path == "" {
+			if len(files) > 0 {
+				path = files[0].Name.Name
+			} else {
+				path = "(unnamed)"
+			}
 		}
 		createPkg(path, files, errs)
 	}