Added subsets, combinations, permutations

I've added iterators for subsets, combinations, and permutations. The latter two behave like the same functions from python's itertools.

I would be glad to write tests and/or documentation but I don't know what the conventions are for testing/documenting modules.