sval: fuzzy_max: fix it to work with svals better
Fuzzy max was using llong_ctype instead of the type of the estate. So if
the comparisons were promoted to unsigned the min became a very large
number.
Also I introduced the is_some_kind_of_max() function. In the olden days
we could just compare against whole_range.max but these days that is gone.
We do try to store things in smatch_absolute, but that doesn't work always
because what if we know the state is non-zero? The smatch_implied
information has to save that it is "1-u32max" or whatever.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>