small optimization for solver_addupdaterule

hopefully also reduces pool_queuetowhatprovides calls and thus
the memory footprint.
ignore negative assertions in choice rule generation