goprotobuf: Convert dots to underscores before finding a unique alias.

R=r
CC=golang-dev
http://codereview.appspot.com/4772041
diff --git a/compiler/generator/generator.go b/compiler/generator/generator.go
index b902a1d..f4f4edd 100644
--- a/compiler/generator/generator.go
+++ b/compiler/generator/generator.go
@@ -398,13 +398,15 @@
 // Pkg is the candidate name.  If f is nil, it's a builtin package like "proto" and
 // has no file descriptor.
 func RegisterUniquePackageName(pkg string, f *FileDescriptor) string {
+	// Convert dots to underscores before finding a unique alias.
+	pkg = strings.Map(DotToUnderscore, pkg)
+
 	for i, orig := 1, pkg; pkgNamesInUse[pkg]; i++ {
 		// It's a duplicate; must rename.
 		pkg = orig + strconv.Itoa(i)
 	}
 	// Install it.
 	pkgNamesInUse[pkg] = true
-	pkg = strings.Map(DotToUnderscore, pkg)
 	if f != nil {
 		uniquePackageName[f.FileDescriptorProto] = pkg
 	}