OneOf Generator

This was a little bit tricky to keep stateless because when you want to shrink to an earlier generator here we have to determine which is the generator used to get the current element you want to shrink

I think this could work, but check it out :heart: 
if the hypothesis is: generators on the left are simpler than the ones on the right
why not starting to shrink from the firstGeneratorAbleToShrink? That way you immediately target a simpler domain
For example we tried:
```
        $generator = new OneOf([
            new Generator\Integer(1, 5), 
            new Generator\Integer(5, 10)                                                                                                                                
        ]);
```
and shrinking 5 gives 5 half of the times (when $willShrinkToEarlierGenerator is false).