Fix `groupby_transform` type hints
Fix `groupby_transform` type hints

The fix required writing 8 overloads, one for each possible combination of optional parameters.
I tried to simplify those overloads by annotating e.g. `keyfunc: Callable[[_T], _U] = identity`, where `identity: Callable[[_Z] _Z]` is the identity function. However, this failed as per https://github.com/python/mypy/issues/3737.
Fixes #567.

more-itertools/more-itertools,erikrose/more-itertools