math, rl: fix handing division involving negative numbers
I think more and more I want to move stuff from smatch_math.c into
smatch_ranges.c.
In the old system if the right hand side was negative we gave up. To
figure out result we calculated "(min / max) to (max / min)". This doesn't
work if we have negatives.
In the new system, we split the negatives and the positives from both sides
we do four division operations and then combine all the possible results.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>