REF: move dispatch methods to WrappedCythonOp
This gets us most of the way towards having everything in the correct class.

The sticking point that makes this not-a-slam-dunk is that a [check](https://github.com/pandas-dev/pandas/compare/master...jbrockmendel:ref-gbop-wrapped?expand=1#diff-17420aa54e4b74826eaaeedc6ef6b320c16691aa74c09420e6098854284b4874L833-L835) is removed:

```
            if self._filter_empty_groups and not counts.all():
                assert result.ndim != 2
                result = result[counts > 0]
```

This condition never holds in the tests, and the assertion would fail if it ever did.  I don't have a compelling reason to remove this check other than it being inconvenient to move it to WrappedCythonOp.