Simplify the IdInfo before any RHSs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Simplfy (i.e. substitute) the IdInfo of a recursive group of Ids
before looking at the RHSs of *any* of them. That way, the rules
are available throughout the letrec, which means we don't have to
be careful about function to put first.
Before, we just simplified the IdInfo of f before looking at f's RHS,
but that's not so good when f and g both have RULES, and both rules
mention the other.
This change makes things simpler, but shouldn't change performance.