Fix signed/unsigned op warning if const changed from float to int
The code was (needlessly) comparing l/r's value against l/rdtype0's
limits, which was only valid when that type was of integer class,
otherwise the compiler went out of bounds on the ast_maxlimitTB array.
Now implemented more cleanly than before, just checking for '< 0', which will be true if a negative value was promoted to unsigned and converted back to signed.
Also swapped around the if/else sections for better readability.
Added unit test which covers the crash
Call fb_MKL instead of fb_MKI for mki<32> on 64bit, as fb_MKI becomes 64bit
symbGetWstrLen(): Remove unnecessary cunsg()

Fixes a mixing signed/unsigned warning. There's not much use in doing an
unsigned division here. The coding style of fbc is to use signed integers
to store lengths, this follows that convention. Sure enough both operands
could be casted to unsigned just as well since we know the lengths/sizes
won't ever be negative.
symbCheckArraySize(): Fix mixed signed/unsigned warning