protoc-gen-go: Add Filename to ExtensionDesc.

This will allow looking up the FileDescriptorProto for the file that
defines an extension of a message, for richer introspection.
diff --git a/proto/extensions.go b/proto/extensions.go
index 6b9b363..eaad218 100644
--- a/proto/extensions.go
+++ b/proto/extensions.go
@@ -154,6 +154,7 @@
 	Field         int32       // field number
 	Name          string      // fully-qualified name of extension, for text formatting
 	Tag           string      // protobuf tag style
+	Filename      string      // name of the file in which the extension is defined
 }
 
 func (ed *ExtensionDesc) repeated() bool {
diff --git a/protoc-gen-go/generator/generator.go b/protoc-gen-go/generator/generator.go
index 5052076..a5879fe 100644
--- a/protoc-gen-go/generator/generator.go
+++ b/protoc-gen-go/generator/generator.go
@@ -2556,6 +2556,7 @@
 	g.P("Field: ", field.Number, ",")
 	g.P(`Name: "`, extName, `",`)
 	g.P("Tag: ", tag, ",")
+	g.P(`Filename: "`, g.file.GetName(), `",`)
 
 	g.Out()
 	g.P("}")