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**
var callback = jest.fn();
    var container = document.createElement('div');
    ReactDOM.render(<div />, container, callback);
    expect(callback.mock.calls.length).toBe(1);
    ReactDOM.render(<div className="foo" />, container, callback);
    expect(callback.mock.calls.length).toBe(2);
    ReactDOM.render(<span />, container, callback);
    expect(callback.mock.calls.length).toBe(3);
  });
  it('throws usefully when rendering badly-typed elements', () => {
    spyOn(console, 'error');
    var X = undefined;
    expect(() => ReactTestUtils.renderIntoDocument(<X />)).toThrowError(
      'Element type is invalid: expected a string (for built-in components) ' +
        'or a class/function (for composite components) but got: undefined. ' +
        "You likely forgot to export your component from the file it's " +
        'defined in.',
    );
    var Y = null;
    expect(() => ReactTestUtils.renderIntoDocument(<Y />)).toThrowError(
      'Element type is invalid: expected a string (for built-in components) ' +
        'or a class/function (for composite components) but got: null.',
    );
    
    expectDev(console.error.calls.count()).toBe(2);
  });
  it('includes owner name in the error about badly-typed elements', () => {
    spyOn(console, 'error');
    var X = undefined;
    function Indirection(props) {