Avoid groupby.agg(callable) in groupby-var (#4482)
Avoid groupby.agg(callable) in groupby-var (#4482)

This has two benefits

1.  It's much faster the following benchmark shows a 5x improvement
2.  It doesn't require the pandas-like container to implement
    groupby.agg(callable), which helps cudf

Benchmark
---------

I get five-ish seconds for this on master
And less than one second on this branch

```
from time import time
import dask
df = dask.datasets.timeseries(dtypes={'id': int, 'data': float}).persist()

start = time()
for i in range(3):
    df.groupby('id').data.std().compute()
stop = time()

print(stop - start)`
```
jcrist/dask,mrocklin/dask,jakirkham/dask,jakirkham/dask,dask/dask,blaze/dask,mrocklin/dask,ContinuumIO/dask,jcrist/dask,dask/dask,blaze/dask,ContinuumIO/dask