rebuild hashes only after all involved BDDs are merged

There is a mistake in the solver (which this commit should fix), found
with the following test case:

        :- use_module(clpb).

        sat(_)  --> [].
        sat(X*Y) --> [_], sat(X), sat(Y).
        sat(X+Y) --> [_], sat(X), sat(Y).
        sat(X#Y) --> [_], sat(X), sat(Y).

        eqs([], _).
        eqs(_, []).
        eqs([V|Vs], [A|As]) :- (   true ; sat(V =:= A) ), eqs(Vs, As).

        run(N) :-
                length(Ls, N),
                portray_clause(N),
                phrase(sat(Sat1), Ls),
                sat(Sat1),
                phrase(sat(Sat2), Ls),
                sat(Sat2),
                term_variables(Sat1, Vs1),
                term_variables(Sat2, Vs2),
                eqs(Vs1, Vs2),
                sat(Sat1 + Sat2),
                false.

        run :- run(_).

Example:

   ?- run.
   0.
   1.
   2.
   3.
   4.
   ERROR: Domain error: `reduced_ites' expected, found `...'

Results with the current commit are still pending.

In any case, tables cannot be cleared prematurely, when the nodes
still occur in some BDDs!