remove unused ir_value_classify_sign()
rename mod_honor_signed_zeros() -> mode_has_signed_zero() and fix it
lowering fabs to mux(x<0,-x,x) is invalid for modes with +0/-0
use switch over arithmetic in mode property tests

- This avoids missing cases when new arithmetic modes are introduced.
- This also fixes a wrong case in mode_overflow_on_unary_Minus()