adds basic groupby test
GroupIterator inherits from std::iterator
builds groupby test
add GroupIterator == and postfix ++
groupby iterator inherits from std iterator
adds groupby iterator ==
adds groupby iterator postfix++

I don't feel too good about this one, let it be known
tests that groups may be skipped
tests single argument groupby
tests groupby with empty iterable