BUG: mean overflows for integer dtypes (fixes #10155)
closes #10155 

There are technically two changes now:

### old behavior
1. For `int` dtypes, `mean()` first sums up values in `int` and converts to `float`, therefore it can potential have int overflow
2. For `float` dtypes, `mean()` sums up values in `float64` and returns the result in `float64`, even if the input dtype is a lower precision dtype such as `float32` 

### new behavior
1. For `int` dtypes, `mean()` sums up values in `float64` and returns the result as `float64`
2. For `float` dtypes, `mean()` sums up values using the same input `float` dtype and returns the result in the same input dtype. Namely, `float32` input will have both the computation and return value in `float32`

Both points in the old behavior are not consistent with `numpy`, and both points in the new behavior are. 
 LGTM... just needs a release note
 ok - in another issue should audit the rest of the nan funcs for overflow / dtype preserving effects
- lets just put in place some tests
 So I was actually quite puzzled by why the unit tests wouldn't pass for some of the virtual environments. And I think I tracked down the problem ... seems like a bug in `numpy < 1.9.0`. For python 3.4 this is not a problem because `numpy >= 1.9.0` is required, but for other environments with older numpy versions this can fail

```
(python2):~/code/github/pandas$ nosetests -s pandas/tests/test_nanops.py 
............S.S....S....F....SS...
======================================================================
FAIL: test_nanmean_overflow (pandas.tests.test_nanops.TestnanopsDataFrame)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/mortada/code/github/pandas/pandas/tests/test_nanops.py", line 336, in test_nanmean_overflow
    self.assertEqual(result, a)
AssertionError: 20150515061816464.0 != 20150515061816532
```

I verified that `np.mean()` produces this wrong value for older versions prior to 1.9.0.
 Ok I've updated this with a numpy version check, travis should pass now. Also added a release note. 
 @jreback I added an optional `dtype` parameter to `_get_counts()` as you suggested 
 @jreback @shoyer this should be ready for review. 

I'll create another issue/PR to audit the rest of the nan funcs for overflow and returned dtypes
 Indeed, I think this is good to go... I'll wait a little bit and then merge.
 yep, lgtm
 thanks @mortada !
 cool thanks guys! 
