ast: Hide "implicit conversion" warnings during optimizations

The test cases caused the compiler to show "implicit conversion" warnings
since commit 9c129d0a.

This was caused by internal optimizations:

astNewBOP() converted
	a - (b - 1)
to
	a - (b + -1)
but it really became
	a - (b + &hFFFFFFFFu)
due to a/b being unsigned.

and then (I think) astOptimizeTree() somewhere converted that to:
	a - b + -&hFFFFFFFFu

and the -&hFFFFFFFFu is what caused the warning.

Such warnings should be hidden if they're caused by internal optimizations,
because they're useless to the user anyways. Another thing to think about
is whether this transformation/optimization makes sense, perhaps it should
not even be done for BOPs with unsigned operands, but I'm not sure about
that.