Poison Semantics for AffineExpr

During the folding process of AffineOps and the simplification process of AffineMap, there are still some runtime checks in place. For example, division by zero is checked. One approach is to check for undefined behavior (UB) by returning a value, while another approach involves defining a poison affine expression to participate in the simplification.