Concat coerces ints to floats if empty DataFrame is present
It seems that when using `concat` coerces `Series` of type `int` to type `float` if one of the `DataFrame`s being concatted is empty:

```
>>> df1 = pd.DataFrame([1],columns=['a'])
>>> df2 = pd.DataFrame(columns=['a'])
>>> df = pd.concat([df1, df2])
>>> df['a'].dtype
dtype('float64')
>>> df1['a'].dtype
dtype('int64')
```

While if both columns have ints, no coercion happens:

```
>>> df1 = pd.DataFrame([1],columns=['a'])
>>> df2 = pd.DataFrame([1],columns=['a'])
>>> df = pd.concat([df1, df2])
>>> df['a'].dtype
dtype('int64')
```
