concat sorts columns without preserving order
Although it's _my_ desired behavior, I realize perhaps this is not _the_ desired behavior, but I think it's reasonable to bring up.

If I want to concat two data frames and their column names are the same, the order is preserved:

```
>>> df1 = pd.DataFrame(columns=["A","1"])
>>> pd.concat([df1,df1])
Empty DataFrame
Columns: [A, 1]
Index: []
```

However, if they are not, it seems they are sorted:

```
>>> df2 = pd.DataFrame(columns=["A","2"])
>>> pd.concat([df1,df2])
Empty DataFrame
Columns: [1, 2, A]
Index: []
```

Would it be reasonable to try to preserve the order? So the output would be:

```
>>> pd.concat([df1,df2])
Empty DataFrame
Columns: [A, 1, 2]
Index: []
```

I realize that, in an ordered list, `"A"` doesn't come before `"1"` or `"2"`, but in both `df1` and `df2`,  `"A"` _does_ come before `"1"` and `"2"`.
