goprotobuf: Handle XXX_unrecognized correctly.

In particular,
  - add it to marshaled messages
  - examine it in Clone, Equal

R=r
CC=golang-dev
http://codereview.appspot.com/6449091
diff --git a/proto/message_set.go b/proto/message_set.go
index bc9efbe..0571c6e 100644
--- a/proto/message_set.go
+++ b/proto/message_set.go
@@ -36,7 +36,6 @@
  */
 
 import (
-	"bytes"
 	"errors"
 	"reflect"
 )
@@ -70,7 +69,7 @@
 
 type MessageSet struct {
 	Item             []*_MessageSet_Item `protobuf:"group,1,rep"`
-	XXX_unrecognized *bytes.Buffer
+	XXX_unrecognized []byte
 	// TODO: caching?
 }