Reductions for ExtensionArray
Creeping up to this in https://github.com/pandas-dev/pandas/pull/22345

A few questions

1. What should this look like for EA authors? What helpers can / should we provide?
2. How does this affect users? Specifically, assuming IntegerArray implements reductions, what's the dtype here?

```python
In [11]: df = pd.DataFrame({"A": ['a', 'b', 'a'], "B": pd.core.arrays.IntegerArray([1, 2, 3])})

In [12]: df.groupby("A").B.min().dtype
```

Is it `int64`, or should we preserve `Int64`?

We can also discuss transforms ( cumulative operations like cumsum, maybe things like `.shift`).