df.from_records should be consistent in handling empty `data` arg
carried over from #3487

``` python
DataFrame.from_records([], columns=['a','b','c'])

Empty DataFrame
Columns: [a, b, c]
Index: []
```

vs.

``` python
DataFrame.from_records([], columns=['a','b','b'])

AssertionError: Number of manager items must equal union of block items
```
