If either of the operands of select is fully poisoned we can simply return the other.
This PR implements this optimization inside the fold method.
Note that this patch is the first to add a dependency on the UB dialect within Arith. Given this was inevitable (and part of the motivation) it should be fine I believe.
nit: missing newline