title: PropTypes shape get marked as required
body: <p>So I'm trying to add a shape to my components objects. The object gets loaded from the server so isn't there from the beginning. But when I add the shape to the Proptypes. It keeps throwing the error that it is marked as required but it isn't.</p>
  <p>Does the <code>shape</code> or the <code>objectOf</code> automatically add the <code>isRequired</code> value?</p>
  <pre><code>TopicsList.propTypes = {
    topicsObject: PropTypes.shape(reportsTopicsObjectResultShape),
  };
  </code></pre>
  <p>And the shapes:</p>
  <pre><code>export const reportsTopicObject = PropTypes.shape({
   avg_rating_ord: PropTypes.number,
   cards_with_comments: PropTypes.number,
   cards_without_comments: PropTypes.number,
   number_of_questions: PropTypes.number,
   rating_count: PropTypes.number,
   scale_version_id: PropTypes.string,
   scale_id: PropTypes.string,
   last_answered_at: PropTypes.string,
   id: PropTypes.string,
   type: PropTypes.string,
   name: PropTypes.shape(translatedObjectSystem),
   description: PropTypes.shape(translatedObjectSystem)
  });
  
  export const reportsTopicsObjectResultShape = PropTypes.shape({
   topics_distribution: PropTypes.shape({
      general: PropTypes.number,
      groups: PropTypes.number,
      people: PropTypes.number
  }),
   topic_list: PropTypes.objectOf(reportsTopicObject)
  });
  </code></pre>
  <p>I still get the error:</p>
  <pre><code>Failed prop type: The prop `topicsObject.isRequired` is marked as 
  required in `TopicsList`, but its value is `undefined`.
  </code></pre>
  <p>It is true that is <code>undefined</code> in the beginning which is okay but I don't want it to be required.</p>