tests: Disable test that would cause SIGFPE on x86-64 (division overflow)
tests: Add missing MOD folding tests
Prevent ICE on signed integer division overflow (SIGFPE) in const folding

Calculating -2147483648 \ -1 = 2147483648 (doesn't fit into 32bit signed
integer) on x86 throws SIGFPE. Same for -9223372036854775808 \ -1 =
9223372036854775808 (doesn't fit into 64bit signed integer) on x86-64.
I'd have expected these divisions to overflow and return 0, but
apparently, that's not happening, on x86/x86-64 at least.

Related to that, -9223372036854775808 \ -1 returns an "incorrect" result
on x86 currently because the LongInt arithmetic doesn't handle this
special case, though (at least) it doesn't throw SIGFPE.

I'm seeing the exact same issues with gcc aswell. (it should be noted that
the C standard doesn't [yet] define the exact behaviour of these divisions)

This commit specifically addresses the issue where fbc itself would crash
due to SIGFPE by doing such divisions during constant folding. This isn't
desirable, and now it shows a warning and produces the value 0, because
that's the result these divisions "should" produce. It's also what I get
from gcc's constant folding.

Working around the x86 instructions' behaviour on a larger scale (i.e. by
emitting extra checks for each division, so it will be "safe" at runtime)
seems wrong, because
  a) it'd add a massive overhead to lot of code (that's also a point
     brought up during discussions about such issues around gcc or
     the C standard)
  b) x86 is what it is, who are we to change that.

Furthermore, this is very similar to the division by zero issue, which we
don't check for at runtime either, but do detect during constant folding.

Reported-by: St_W on IRC