BUG/TST: transform and filter on non-unique index, closes #4620

This is a relatively minor change. Previously, ``filter`` on
``SeriesGroupBy`` and ``DataFrameGroupby`` and ``transform`` on only
``SeriesGroupBy`` referred to the index of each group's object.

This cannot work with repeated indexes, because some repeated
indexes occur between more than one group. Instead, use
``{Series, DataFrame}GroupBy.indices`` array, an array of
locations, not labels.

*  This was marked for 0.14, but I would really like to start using it.