Extend the truncate transformer.

Use multiply-high only if the intermediate values don't fit in
a word. Also, add another method that produces simpler code
when the dividend is at most one less than MOST-POSITIVE-WORD.
Add more test cases for the truncate optimizer.