Pulled out integer conversion code
Sign extend 64-bit test
cpp2 has predefined limit macros
cc1 knows type primitive maximums
Moved out_change_type to machine-backend
intval_is_64_bit -> intval_highest_bit, platform independent
Correct limit on immediate operands
intval loading example(s)
Use intval_high_bit() for values
Correct asserts for loading unsigned ints that aren't longs

0x80000000 is an unsigned int, whose max bit is 31. This qualifies it
for (on certain architectures - Darwin) movabsq, but not for
interpretation as a long, so a distinction needs to be made.
Comment on backend sign extension
UCC_SZ_* type limits
intval truncation optimisation using native casting
Casting only needs in-size and signed information
Correct sign extension for compile-time signed casts
Added -f[no-]cast-with-builtin-types for testing bit casting
Allow negatives through 64-bit loads (fixes various failing bitfield tests)
Allow enums, etc through 64-bit loads for now

Will be fixed on the enum branch
Also updated test to check asm output
Fixed -ftrapv test
Fixed large-global test