Add E_ prefixes to *all* extension descriptors to avoid namespace collisions.

R=r
http://codereview.appspot.com/879046
diff --git a/proto/lib.go b/proto/lib.go
index 8660335..8bddb2d 100644
--- a/proto/lib.go
+++ b/proto/lib.go
@@ -58,6 +58,11 @@
 	  	with the enum's type name.
 	  - Nested groups and enums have type names prefixed with the name of
 	  	the surrounding message type.
+	  - Extensions are given descriptor names that start with E_,
+		followed by an underscore-delimited list of the nested messages
+		that contain it (if any) followed by the CamelCased name of the
+		extension field itself.  HasExtension, ClearExtension, GetExtension
+		and SetExtension are functions for manipulating extensions.
 	  - Marshal and Unmarshal are functions to encode and decode the wire format.
 
 	The simplest way to describe this is to see an example.