We missed this because Flow wasn't being run properly on Travis but now that it is, it's clear that #7716 introduced a bunch of new Flow failures. Most of these shouldn't be too bad and I like to say "you break it you buy it" so this one is for you @Aweary :)

There were a couple other pre-existing Flow issues that @vjeux is going to fix, so mostly this should just be the TestRenderer issues.

* control data that is not handled by React's data flow.
 *
 * @class ReactOwner
 */
var ReactOwner = {
  /**
   * Adds a component by ref to an owner component.
   *
   * @param {ReactComponent} component Component to reference.
   * @param {string} ref Name by which to refer to the component.
   * @param {ReactOwner} owner Component on which to record the ref.
   * @final
   * @internal
   */
  addComponentAsRefTo: function(
    component: ReactInstance,
    ref: string,
    owner: ReactInstance,
    transaction,
  ): void {
    invariant(
      isValidOwner(owner),
      'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might ' +
      'be adding a ref to a component that was not created inside a component\'s ' +
      '`render` method, or you have multiple copies of React loaded ' +
      '(details: https://fb.me/react-refs-must-have-owner).'
    );
    owner.attachRef(ref, component, transaction);
  },
  /**