Generalize induction and range analysis across type conversions.

This changelist implements allowing narrowing conversions within
inductions and loop control. More induction and loops recognized,
more bounds eliminated. We all win. The basic idea is pretty simple
(record type with detected induction) but one has to get all the
details right, as illustrated by the many new unit tests.


Change-Id: I254020bfa5fa623799b31bbbb5ccc97d4d5a0100
12 files changed