React 16 alpha allows returning array in render function but server renderer expects children to always be react elements

```
TypeError: Cannot read property 'toLowerCase' of undefined
    at ReactDOMServerRenderer.renderDOM
```

source
```javascript
function renderDOM(element, context) {
    var tag = element.type.toLowerCase(); // element is array
```

Fiddle: https://jsfiddle.net/84v837e9/160/

**react@16.0.0-alpha.13**
componentWillMount() {
        this.setState({text: 'hello'});
        setTimeout(() => {
          this.setState({text: 'error'});
        });
      }
      render() {
        return <div onClick={() => {}}>{this.state.text}</div>;
      }
    }
    spyOn(console, 'error');
    ReactDOMServer.renderToString(<Foo />);
    jest.runOnlyPendingTimers();
    expectDev(console.error.calls.count()).toBe(1);
    expectDev(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.\n\nPlease check the code for the Foo component.',
    );
    var markup = ReactDOMServer.renderToStaticMarkup(<Foo />);
    expect(markup).toBe('<div>hello</div>');
  });
  it('warns with a no-op when an async forceUpdate is triggered', () => {
    class Baz extends React.Component {