Add signed versions of the fixnum/tagged word conversion functions.

The new functions are %FIXNUM-TO-TAGGED-SIGNED-WORD,
%TAGGED-SIGNED-WORD-TO-FIXNUM and %LOSE-SIGNED-WORD-DERIVED-TYPE.
Optimize signed truncate transform for fixnums.
Use the original range of the dividend when choosing a multiplier.

The scaled-up range used for fixnum optimisation is unnecessary for
choosing a correct multiplier, and makes the chosen values larger.
Since now the multiplier doesn't increase because of the fixnum
optimization, there's no need to abort it if the multiplier is too large.
Remove unnecesarry min/max and return-from calls.
Add fixnum optimisation to the ceil/floor generator.