ENH Consistent apply output when grouping with freq
The `BinGrouper.apply` (used by the `TimeGrouper`) and `BaseGrouper.apply` (used by the `Grouper`) have different output types. To make them consistent, remove `BinGrouper.apply` and let it use the same method as the superclass `BaseGrouper`. This requires changing `BinGrouper.groupings` to return an object which looks sufficiently like a `Grouping` object for `BaseGrouper.apply` to be happy. Use a namedtuple to create an object with the needed attributes.

I think this change will only affect the output of `apply` with a custom function, and only when grouping by a `TimeGrouper` (although a `Grouper` with a `freq` specified turns into a `TimeGrouper`, so that counts).

Closes #11742 .
