title: Can't extending a remote graphql nested input type
body: <p>graphql service 1 type defs:</p>
  
  <pre class="lang-js prettyprint-override"><code>import { gql } from 'apollo-server';
  
  const typeDefs = gql`
    type Post {
      postId: ID!
      postTitle: String!
      postContent: String!
      postAuthorId: ID
    }
  
    input PostTag {
      name: String!
    }
  
    input PostInput {
      postTitle: String!
      postContent: String!
      postAuthorId: ID!
      postTags: [PostTag!]!
    }
  
    type CommonResponse {
      code: Int!
      message: String!
    }
  
    type Query {
      posts: [Post]!
    }
  
    type Mutation {
      addPost(post: PostInput): CommonResponse!
    }
  `;
  
  export { typeDefs };
  </code></pre>
  
  <p>Now, graphql service 2 wants to extend <code>PostTag</code> input type from graphql service 1 like this:</p>
  
  <pre class="lang-js prettyprint-override"><code>import { gql } from 'apollo-server';
  
  const typeDefs = gql`
    extend input PostTag {
      color: String
    }
  `;
  
  export { typeDefs };
  </code></pre>
  
  <p>I print stitching schema, it's correct.</p>
  
  <pre class="lang-sh prettyprint-override"><code>enum CacheControlScope {
    PUBLIC
    PRIVATE
  }
  
  type CommonResponse {
    code: Int!
    message: String!
  }
  
  type Mutation {
    addPost(post: PostInput): CommonResponse!
  }
  
  type Post {
    postId: ID!
    postTitle: String!
    postContent: String!
    postAuthorId: ID
  }
  
  input PostInput {
    postTitle: String!
    postContent: String!
    postAuthorId: ID!
    postTags: [PostTag!]!
  }
  
  input PostTag {
    name: String!
    color: String
  }
  
  type Query {
    posts: [Post]!
  }
  
  """The `Upload` scalar type represents a file upload."""
  scalar Upload
  </code></pre>
  
  <p>But when client sends a mutation like this:</p>
  
  <pre><code>mutation{
    addPost(post: {
      postTitle: "ez2on",
      postContent: "golang",
      postAuthorId: "1",
      postTags: [{
        name: "222",
        color: "red"
      }]
    }){
      code
      message
    }
  }
  </code></pre>
  
  <p>Got this error:</p>
  
  <pre><code>{
    "errors": [
      {
        "message": "Variable \"$_v0_post\" got invalid value { postTitle: \"ez2on\", postContent: \"golang\", postAuthorId: \"1\", postTags: [[Object]] }; Field \"color\" is not defined by type PostTag at value.postTags[0].",
        "locations": [
          {
            "line": 7,
            "column": 3
          }
        ],
        "path": [
          "addPost"
        ],
        "extensions": {
          "code": "INTERNAL_SERVER_ERROR",
          "exception": {
            "errors": [
              {
                "message": "Variable \"$_v0_post\" got invalid value { postTitle: \"ez2on\", postContent: \"golang\", postAuthorId: \"1\", postTags: [[Object]] }; Field \"color\" is not defined by type PostTag at value.postTags[0].",
                "locations": []
              }
            ],
            "stacktrace": [
              "Error: Variable \"$_v0_post\" got invalid value { postTitle: \"ez2on\", postContent: \"golang\", postAuthorId: \"1\", postTags: [[Object]] }; Field \"color\" is not defined by type PostTag at value.postTags[0].",
              "    at new CombinedError (/Users/ldu020/workspace/github.com/mrdulin/apollo-graphql-tutorial/node_modules/graphql-tools/src/stitching/errors.ts:90:5)",
              "    at Object.checkResultAndHandleErrors (/Users/ldu020/workspace/github.com/mrdulin/apollo-graphql-tutorial/node_modules/graphql-tools/src/stitching/errors.ts:111:11)",
              "    at CheckResultAndHandleErrors.transformResult (/Users/ldu020/workspace/github.com/mrdulin/apollo-graphql-tutorial/node_modules/graphql-tools/src/transforms/CheckResultAndHandleErrors.ts:15:12)",
              "    at /Users/ldu020/workspace/github.com/mrdulin/apollo-graphql-tutorial/node_modules/graphql-tools/src/transforms/transforms.ts:37:45",
              "    at Array.reduce (&lt;anonymous&gt;)",
              "    at applyResultTransforms (/Users/ldu020/workspace/github.com/mrdulin/apollo-graphql-tutorial/node_modules/graphql-tools/src/transforms/transforms.ts:35:21)",
              "    at /Users/ldu020/workspace/github.com/mrdulin/apollo-graphql-tutorial/node_modules/graphql-tools/src/stitching/delegateToSchema.ts:104:12",
              "    at step (/Users/ldu020/workspace/github.com/mrdulin/apollo-graphql-tutorial/node_modules/graphql-tools/dist/stitching/delegateToSchema.js:31:23)",
              "    at Object.next (/Users/ldu020/workspace/github.com/mrdulin/apollo-graphql-tutorial/node_modules/graphql-tools/dist/stitching/delegateToSchema.js:12:53)",
              "    at fulfilled (/Users/ldu020/workspace/github.com/mrdulin/apollo-graphql-tutorial/node_modules/graphql-tools/dist/stitching/delegateToSchema.js:3:58)"
            ]
          }
        }
      }
    ],
    "data": null
  }
  </code></pre>