title: grpc Protobuff 3 nested message definitions
body: <p>I would like to define my messages in a nested way like this:</p>
  
  <p>FooRequest</p>
  
  <ul>
  <li>messageId</li>
  <li>correlationId</li>
  <li>moreFields</li>
  <li>payload (dedicated proto containing the Foo payload)</li>
  </ul>
  
  <p>And use the Requests in my grpc service defintions like this:</p>
  
  <pre><code>service SessionManager {
      rpc CreateSession (CreateSessionRequest) returns (CreateSessionResponse) {}
      rpc DropSession (DropSessionRequest) returns (DropSessionResponse) {}
  }
  </code></pre>
  
  <p>For this it would be nice to define the <code>Request</code> proto only once and re-use it for all the Requests I want to create.</p>
  
  <pre><code>message Request {
      string messageId = 1;
      string origin = 2;
      string correlationId = 3;
      int32 sentAt = 4;
      string type = 5;
      int32 version = 6;
      google.protobuf.Any metadata = 7;
      google.protobuf.Any payload = 8;
  }
  </code></pre>
  
  <p>Instead of doing this:</p>
  
  <pre><code>message CreateSessionRequest {
      string messageId = 1;
      string origin = 2;
      string correlationId = 3;
      int32 sentAt = 4;
      string type = 5;
      int32 version = 6;
      google.protobuf.Any metadata = 7;
      CreateSessionPayload payload = 8;
  }
  
  message DropSessionRequest {
      string messageId = 1;
      string origin = 2;
      string correlationId = 3;
      int32 sentAt = 4;
      string type = 5;
      int32 version = 6;
      google.protobuf.Any metadata = 7;
      DropSessionPayload payload = 8;
  }
  </code></pre>
  
  <p>Is this somehow possible?</p>