Calling `setState` in `componentWillMount` of a component causes the error

```
TypeError: Cannot read property '_currentElement' of null
    at ReactCompositeComponentMixin._updateRenderedComponent
```

when rendering server-side with `ReactDOMServer.renderToString` and preceded by a component that renders content using `ReactDOMServer.renderToString` or `ReactDOMServer.renderToStaticMarkup`.

Causes TypeError with 0.14.8 and 15.0.0-rc.2:
https://github.com/PKJedi/react-dom-server-test/blob/master/test.js

Works with 0.13:
https://github.com/PKJedi/react-dom-server-test/blob/master/0.13/test.js

jest.runOnlyPendingTimers();
    expect(console.error.calls.count()).toBe(1);
    expect(console.error.calls.mostRecent().args[0]).toBe(
      'Warning: setState(...): Can only update a mounting component.' +
      ' This usually means you called setState() outside componentWillMount() on the server.' +
      ' This is a no-op. Please check the code for the Foo component.'
    );
    var markup = ReactServerRendering.renderToStaticMarkup(<Foo />);
    expect(markup).toBe('<div>hello</div>');
  });
  it('warns with a no-op when an async replaceState is triggered', function() {
    var Bar = React.createClass({
      componentWillMount: function() {
        this.replaceState({text: 'hello'});
        setTimeout(() => {
          this.replaceState({text: 'error'});
        });
      },
      render: function() {
        return <div onClick={() => {}}>{this.state.text}</div>;
      },
    });
    spyOn(console, 'error');
    ReactServerRendering.renderToString(<Bar />);
    jest.runOnlyPendingTimers();
    expect(console.error.calls.count()).toBe(1);
    expect(console.error.calls.mostRecent().args[0]).toBe(
      'Warning: replaceState(...): Can only update a mounting component. ' +
      'This usually means you called replaceState() outside componentWillMount() on the server. ' +
      'This is a no-op. Please check the code for the Bar component.'