CLN: type annotations in groupby.grouper, groupby.ops
@simonjayhawkins mypy is still giving a couple of complaints I could use your help sorting out:

```
pandas/core/groupby/ops.py:791: error: Signature of "groupings" incompatible with supertype "BaseGrouper"
pandas/core/groupby/ops.py:872: error: Argument 1 of "_chop" is incompatible with supertype "DataSplitter"; supertype defines the argument type as "NDFrame"
pandas/core/groupby/ops.py:884: error: Argument 1 of "_chop" is incompatible with supertype "DataSplitter"; supertype defines the argument type as "NDFrame"
```

For the groupings complaint, AFAICT the attribute has the same annotation, but in the subclass its a property instead of defined in `__init__`.  For the other two, I annotated an argument with `NDFrame` in the base class and overrode with `Series` and `DataFrame` in the subclasses.  What is the preferred idiom for this pattern?