Support for len() for a ProductSet

This is the wrong exception. It should either be TypeError, in which case, just don't define `__len__`, or ValueError. I'm not sure which is better.