Inconsistent handling of variables with missing values in groupby
I found this behavior confusing.

``` python
df = pd.DataFrame(dict(a=["a", "a", "a", "b", "b", "b"],
                       x=[True, True, False, True, np.nan, False]))
```

This works fine:

``` python
df.x.mean()
0.59999999999999998
```

But this fails:

``` python
df.groupby("a").x.mean()
---------------------------------------------------------------------------
DataError                                 Traceback (most recent call last)
<ipython-input-34-867769d888c3> in <module>()
----> 1 df.groupby("a").x.mean()

/Users/mwaskom/anaconda/lib/python2.7/site-packages/pandas/core/groupby.pyc in mean(self)
    698         """
    699         try:
--> 700             return self._cython_agg_general('mean')
    701         except GroupByError:
    702             raise

/Users/mwaskom/anaconda/lib/python2.7/site-packages/pandas/core/groupby.pyc in _cython_agg_general(self, how, numeric_only)
   1101 
   1102         if len(output) == 0:
-> 1103             raise DataError('No numeric types to aggregate')
   1104 
   1105         return self._wrap_aggregated_output(output, names)

DataError: No numeric types to aggregate
```

Happy to be kicked over to StackOverflow, but I cannot make heads or tails of this behavior.
