New simplify rule for bitshift operators

Added a rule to replace bitshifts by a constant value to a divide by the corresponding power of two.
This line can result in undefined behavior if ib is negative or (1 << ib) > INT_MAX. This needs to be checked before performing the shift.