Non consistent behavior with Dataframe.sum
Hello,

I noticed a strange behavior involving important errors in my scripts.

``` python
a = pd.DataFrame(np.nan, index=[1,2], columns=[3,4]).astype(np.float64)
b = pd.DataFrame(np.nan, index=[1,2], columns=[3,4]).astype(np.float32)
c = pd.DataFrame(np.nan, index=[1,2], columns=[3,4])
d = pd.DataFrame(index=[1,2], columns=[3,4])

print(a.sum())
3    0
4    0
dtype: float64
print(b.sum())
3   NaN
4   NaN
dtype: float64
print(c.sum())
3    0
4    0
dtype: float64
print(d.sum())
3   NaN
4   NaN
dtype: float64
```

According to your doc, the right result should be the second and fourth output. 
I guess it is due to Numpy changes 0.18. However I want to point out that numpy's choice is not good. A sum of NaN must not be zero. 

First argument is about logic : Nothing + Nothing is not something but Nothing + object could be something. Two things which are not number can not be a number by arithmetic operation

Second argument : it's easy to fill the result with zeros if you don't want NaN values. 

``` python
a = pd.DataFrame(np.nan, index=[1,2], columns=[3,4]).sum()
a.fillna(0, inplace=0)
```

Whereas you are not able to fill the result with NaN instead of zeros into NaN rows (or columns whatever..) if they have been filled with zeros before (easily). I hope you see 
what I mean...

Thanks for your work ;)
