Fixed all different propogator for sets.

The propagator produces incorrect results. Here's a snippet of code that displays the bug.

```java
public static void main(String[] args) {
    Solver solver = new Solver();

    SetVar[] children = new SetVar[2];
    for (int i = 0; i < children.length; i++) {
        children[i] = VariableFactory.set("child" + i, new int[]{0, 1, 2, 3, 4}, solver);
    }
    solver.post(SetConstraintsFactory.all_different(children));
    solver.set(SetStrategyFactory.setLex(children));

    int solutions = 0;
    int wrong = 0;
    if (solver.findSolution()) {
        do {
            if (!ESat.TRUE.equals(solver.isEntailed())) {
                wrong++;
                System.out.println(solver);
            }
            solutions++;
        } while (solver.nextSolution());
    }

    System.out.println(wrong + "/" + solutions);
}
```

The last print statement outputs "26/878". The expected output is "0/992".