Bug

Unit tests using shallow rendering fail on 'TypeError: Cannot read property 'onSetDisplayName' of null'.

I can't seem to get TestUtils into jsfiddle, but here is the build output and code snippet.

```
import expect from 'expect';
import TestUtils from 'react-addons-test-utils';
import React from 'react';
import BlurInput from '...';
...
    beforeEach(function () {
        props = {value: '1', onChange: function () {}};
        expect.spyOn(props, 'onChange');
        let renderer = TestUtils.createRenderer();
        renderer.render(<BlurInput {...props} />);
        instance = getInstance(renderer);
        componentTree = renderer.getRenderOutput();
    });
    it('reflects value to underlying input', function () {
        expect(componentTree.props.value).toBe('1');
        expect(instance.state.value).toBe('1');
    });


```

```
00:04:18.742   1) BlurInput "before each" hook for "reflects value to underlying input":
00:04:18.742      TypeError: Cannot read property 'onSetDisplayName' of null
00:04:18.742       at new ShallowComponentWrapper (node_modules/react/lib/ReactTestUtils.js:349:33)
00:04:18.742       at ReactShallowRenderer._render (node_modules/react/lib/ReactTestUtils.js:399:20)
00:04:18.742       at _batchedRender (node_modules/react/lib/ReactTestUtils.js:381:12)
00:04:18.742       at ReactDefaultBatchingStrategyTransaction.Mixin.perform (node_modules/react/lib/Transaction.js:138:20)
00:04:18.742       at Object.ReactDefaultBatchingStrategy.batchedUpdates (node_modules/react/lib/ReactDefaultBatchingStrategy.js:63:19)
00:04:18.742       at Object.batchedUpdates (node_modules/react/lib/ReactUpdates.js:98:20)
00:04:18.742       at ReactShallowRenderer.render (node_modules/react/lib/ReactTestUtils.js:374:16)
00:04:18.742       at Context.<anonymous> (BlurInput-test.js:19:18)
```

**What is the expected behavior?**
Unit test should run normally.

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**
15.2.1 has this issue.
15.2.0 does not.

return all[0];
  },
  /**
   * Finds all instances of components with type equal to `componentType`.
   * @return {array} an array of all the matches.
   */
  scryRenderedComponentsWithType: function(root, componentType) {
    return ReactTestUtils.findAllInRenderedTree(root, function(inst) {
      return ReactTestUtils.isCompositeComponentWithType(
        inst,
        componentType
      );
    });
  },
  /**
   * Same as `scryRenderedComponentsWithType` but expects there to be one result
   * and returns that one result, or throws exception if there is any other
   * number of matches besides one.
   * @return {!ReactComponent} The one match.
   */
  findRenderedComponentWithType: function(root, componentType) {
    var all = ReactTestUtils.scryRenderedComponentsWithType(
      root,
      componentType
    );
    if (all.length !== 1) {
      throw new Error(
        'Did not find exactly one match (found: ' + all.length + ') ' +
        'for componentType:' + componentType
      );