DataFrame constructor is inconsistent in handling of duplicates in columns
```python
In [5]: pd.DataFrame(columns=['a', 'a', 'b'])
Out[5]:
Empty DataFrame
Columns: [a, b]
Index: []

In [6]: pd.DataFrame.from_records({}, columns=['a', 'a', 'b'])
Out[6]:
Empty DataFrame
Columns: [a, a, b]
Index: []
```

I don't know which is preferred.

This is not being fixed in https://github.com/pandas-dev/pandas/pull/24387