fix bugs of panic when decode MessageExt (#330)

diff --git a/primitive/message.go b/primitive/message.go
index 852e6db..7461525 100644
--- a/primitive/message.go
+++ b/primitive/message.go
@@ -242,6 +242,7 @@
 	count := 0
 	for count < len(data) {
 		msg := &MessageExt{}
+		msg.Queue = &MessageQueue{}
 
 		// 1. total size
 		binary.Read(buf, binary.BigEndian, &msg.StoreSize)
@@ -256,7 +257,9 @@
 		count += 4
 
 		// 4. queueID
-		binary.Read(buf, binary.BigEndian, &msg.Queue.QueueId)
+		var qId int32
+		binary.Read(buf, binary.BigEndian, &qId)
+		msg.Queue.QueueId = int(qId)
 		count += 4
 
 		// 5. Flag