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**
expectMarkupMismatch(<div>{2}</div>, <div>{3}</div>));
      it('should error reconnecting different number from text', () =>
        expectMarkupMismatch(<div>{2}</div>, <div>3</div>));
      it('should error reconnecting different text in two code blocks', () =>
        expectMarkupMismatch(
          <div>{'Text1'}{'Text2'}</div>,
          <div>{'Text1'}{'Text3'}</div>,
        ));
    });
    describe('element trees and children', function() {
      it('should error reconnecting missing children', () =>
        expectMarkupMismatch(<div><div /></div>, <div />));
      it('should error reconnecting added children', () =>
        expectMarkupMismatch(<div />, <div><div /></div>));
      it('should error reconnecting more children', () =>
        expectMarkupMismatch(<div><div /></div>, <div><div /><div /></div>));
      it('should error reconnecting fewer children', () =>
        expectMarkupMismatch(<div><div /><div /></div>, <div><div /></div>));
      it('should error reconnecting reordered children', () =>
        expectMarkupMismatch(
          <div><div /><span /></div>,
          <div><span /><div /></div>,
        ));
      it('should error reconnecting a div with children separated by whitespace on the client', () =>
        expectMarkupMismatch(
          <div id="parent"><div id="child1" /><div id="child2" /></div>,
          
          <div id="parent"><div id="child1" />      <div id="child2" /></div>, 
        ));
      it('should error reconnecting a div with children separated by different whitespace on the server', () =>