BUG: groupby mean/median/var should always be float values
This is value-dependent behavior:

```
print(DataFrame({'a': [1, 3]}).groupby([1, 1]).mean())
```

results in the integer 2, whereas

```
print(DataFrame({'a': [1, 3]}).mean())
```

results in 2.0.