Why does itertools.groupby create duplicate groups for same key?