Incorrect result in GroupBy.cov when some results have 1 observation
If a user has configured warnings from NumPy to raise, and performs a `groupby.cov` when one or more groups has a single operation, then they'll get the wrong result.


```python

In [1]: import warnings

In [2]: warnings.filterwarnings("error", category=RuntimeWarning)

In [3]: import pandas as pd; import numpy as np
In [4]: data = np.random.randn(20, 3)

In [5]: key = [2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 2, 0, 2, 2, 2, 2, 2, 1, 0, 2]
In [7]: df = pd.DataFrame(data).assign(key=key)

In [8]: df.groupby("key").cov()
Out[8]:
Empty DataFrame
Columns: []
Index: []
```

I would expect

```python

In [6]: df.groupby("key").cov()
Out[6]:
              0         1         2
key
0   0  0.399063  0.187969 -0.081610
    1  0.187969  0.912905 -0.037523
    2 -0.081610 -0.037523  0.306056
1   0       NaN       NaN       NaN
    1       NaN       NaN       NaN
    2       NaN       NaN       NaN
2   0  0.653468 -0.007848 -0.213145
    1 -0.007848  0.460083 -0.153129
    2 -0.213145 -0.153129  0.662283
```

We should probably be robust to the warning setting, or resurface the exception.

This is with pandas 0.25.3