BUG: Sum() of dataframe returns string, behavior differs between mixed-type and single-type columns
## INPUT
## Reproduce the Error

``` python
import pandas as pd
pd.show_versions()

print "\nCASE 1 : Working with a dataframe with mixed object types ************"
dfa = pd.DataFrame(data=zip(["Silly","Thing","To","Concatenate"],[0.,1.,2.,3.1]),columns=['A','B'])

print "  FAILS : sums the number, but returns it as a string, EXPECTED : <type 'numpy.float64'>"
print dfa.sum()['B'] #Here we're summing the entire df, then accessing one column's result.
print type(dfa.sum()['B']) 
```
## Work Arounds and Other Notes

```
print "  WORKS : Sums the numbers, returns a number"
print dfa['B'].sum() #Note the difference, here we're accessing the sum of a Series.
print type(dfa['B'].sum())

print "  NOTE : Multiple dtypes"
print dfa.dtypes

print "\nCASE 2 : Working with a dataframe with numbers only. *****************"
dfb = pd.DataFrame(data=zip([0.,1.,2.,3.1],[0.,1.,2.,3.1]),columns=['A','B'])

print "  WORKS : Sums the number, returns a number"
print dfb.sum()['B']
print type(dfb.sum()['B'])  #Expected <type 'numpy.float64'>

print "  WORKS : Sums the numbers, returns a number"
print dfb['B'].sum()
print type(dfb['B'].sum())

print "  NOTE : Identical dtypes"
print dfb.dtypes

print "  NOTE : A series of multiple types is allowed, so why would sum, not return a Series of multiple types?"
s = pd.Series([1.0,2,"a string"])
print type(s[1])
print type(s[2])
```
## OUTPUT

note: formatted as ruby, not actually ruby code.  This is python console output.

``` ruby
INSTALLED VERSIONS
------------------
commit: None
python: 2.7.6.final.0
python-bits: 32
OS: Windows
OS-release: 7
machine: AMD64
processor: Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
byteorder: little
LC_ALL: None
LANG: en_US

pandas: 0.13.1
Cython: 0.20
numpy: 1.8.0
scipy: 0.13.3
statsmodels: 0.5.0
IPython: 1.1.0
sphinx: 1.2.1
patsy: 0.2.1
scikits.timeseries: None
dateutil: 2.2
pytz: 2013.9
bottleneck: None
tables: 3.1.0
numexpr: 2.3
matplotlib: 1.3.1
openpyxl: None
xlrd: 0.9.2
xlwt: 0.7.5
xlsxwriter: None
sqlalchemy: 0.9.2
lxml: None
bs4: 4.3.2
html5lib: None
bq: None
apiclient: None

CASE 1 : Working with a dataframe with mixed object types ************
  FAILS : sums the number, but returns it as a string, EXPECTED : <type 'numpy.float64'>
6.1
<type 'str'>
  WORKS : Sums the numbers, returns a number
6.1
<type 'numpy.float64'>
  NOTE : Multiple dtypes
A     object
B    float64
dtype: object

CASE 2 : Working with a dataframe with numbers only. *****************
  WORKS : Sums the number, returns a number
6.1
<type 'numpy.float64'>
  WORKS : Sums the numbers, returns a number
6.1
<type 'numpy.float64'>
  NOTE : Identical dtypes
A    float64
B    float64
dtype: object
  NOTE : A series of multiple types is allowed, so why would sum, not return a Series of multiple types?
<type 'int'>
<type 'str'>
```
