goprotobuf: Clarify Unmarshaler semantics.

R=r
CC=golang-dev
http://codereview.appspot.com/6820111
diff --git a/proto/decode.go b/proto/decode.go
index 4571d74..e7f5076 100644
--- a/proto/decode.go
+++ b/proto/decode.go
@@ -282,9 +282,11 @@
 	return err
 }
 
-// Unmarshaler is the interface representing objects that can unmarshal themselves.
-// The argument points to data that may be overwritten, so implementations should
-// not keep references to the buffer.
+// Unmarshaler is the interface representing objects that can
+// unmarshal themselves.  The method should reset the receiver before
+// decoding starts.  The argument points to data that may be
+// overwritten, so implementations should not keep references to the
+// buffer.
 type Unmarshaler interface {
 	Unmarshal([]byte) error
 }