Go port of the combinatoric bits from python's itertools