title: AttributeError: Assignment not allowed to composite field "task" in protocol message object
body: <p>I'm using protocol-buffers python lib to send data,but it's have some problems, so</p>
  
  <pre><code>Traceback (most recent call last):
    File "test_message.py", line 17, in &lt;module&gt;
      ptask.task = task
    File "build\bdist.win32\egg\google\protobuf\internal\python_message.py", line
  513, in setter
  AttributeError: Assignment not allowed to composite field "_task" in protocol message object.
  </code></pre>
  
  <p>the src as follows:</p>
  
  <p>proto file:</p>
  
  <pre><code>message task {
      required int32 id = 1;
      required string msg = 2;
  }
  
  message task_info {
      required task task = 1;
  }
  </code></pre>
  
  <p>python code:</p>
  
  <pre><code>task = yacc.task()
  task.id = 1000
  task.msg = u"test"
  ptask = yacc.task_info() 
  ptask.task = task # this line happen the runtime error 
  </code></pre>