sum in pandas can concatenate strings
Possibly related: #13912

This looks wrong to me -- probably a bug?

```
In [36]: pd.Series(['a', 'b', 'c']).sum()
Out[36]: 'abc'

In [37]: pd.__version__
Out[37]: '0.18.1'
```

This happens on DataFrames, as well:

```
In [8]: pd.Series(['a', 'b', 'c']).to_frame().sum()
Out[8]:
0    abc
dtype: object
```

Note, of course, that summing strings:

```
In [2]: sum(['a', 'b', 'c'])
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-eba0487fc411> in <module>()
----> 1 sum(['a', 'b', 'c'])

TypeError: unsupported operand type(s) for +: 'int' and 'str'
```

Interestingly, NumPy has the same (buggy?) behavior on `dtype=object` arrays: 

```
In [11]: pd.Series(['a', 'b', 'c']).values.sum()
Out[11]: 'abc'

In [12]: pd.Series(['a', 'b', 'c']).values.astype(str).sum()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-12-4e25bf0067a8> in <module>()
----> 1 pd.Series(['a', 'b', 'c']).values.astype(str).sum()

/Users/shoyer/conda/envs/xarray-dev/lib/python3.5/site-packages/numpy/core/_methods.py in _sum(a, axis, dtype, out, keepdims)
     30
     31 def _sum(a, axis=None, dtype=None, out=None, keepdims=False):
---> 32     return umr_sum(a, axis, dtype, out, keepdims)
     33
     34 def _prod(a, axis=None, dtype=None, out=None, keepdims=False):

TypeError: cannot perform reduce with flexible type
```
