Implemented Factors.LargestProduct

I feel like there's a more clever way to solve this, but I'm not smart
enough to think of it.  Probably something like "generate all
permutations of the factors and try them in decreasing order"
Added Enumerable Power Sets

Not really power sets since we don't do any uniqueness checking...
Also, Product Set which uses Power Sets.

After thorough testing, the current LargestProduct function appears to
perform much better than an implementation using ProductSet.  Orders of
magnitude for small upperLimits...