Initialising a dataframe with empty data and column names fails
The following fails:

```
pd.DataFrame([], columns="a b".split())
```

I'd expect this to be equivalent to

```
pd.DataFrame(None, columns="a b".split())
```

Is there any reason not to do it like this?
