Support for len() for a ProductSet

> @skirpichev I couldn't understand your comment: "Can we just remove this stub method right now?" 

Simple question.  Why you need this stub method at all?

> Can len return a non-int?

Hmm, indeed.  [It seems, no](https://docs.python.org/3/reference/datamodel.html#object.__len__).  We can't use this interface for anything like the cardinality of infinite set...

Then, the question: should we define this method for anything, except FiniteSet?  In examples from the tests in this pr we can just convert ProductSet to FiniteSet:
```
In [1]: H, T = 'H', 'T'

In [2]: coin = FiniteSet(H, T)

In [3]: coin*coin*coin
Out[3]: 
      3
{H, T} 

In [4]: FiniteSet(_)
Out[4]: 
{(H, H, H), (H, H, T), (H, T, H), (H, T, T), (T, H, H), (T, H, T), (T, T, H), 
(T, T, T)}

In [5]: len(_)
Out[5]: 8
```