Convert the SSA2 PrePasses functor to the multi-entry IL

This was straightforward since 'args' and 'start' were just being used
to re-build functions --- only the blocks were being modified.
Convert the SSA2 Shrink functor to the multi-entry SSA2 IL

Like 4910911 (which was for SSA1), the approach here was to convert
single uses of 'args' or 'start' by generalizing them over all entry
points, using Vector.foreach or Vector.map.