Added PowerSet() for generating all subsets of a given set

I was trying to solve a very simple problem using your library and everything was working perfectly until I reached a certain point that I needed to generate all subsets of a given set `PowerSet()` and that gave me a _HUGE_ headache. So I came up with this small patch. It's far from being anything special but I guess it does the job and makes this library richer in terms of it's API.