Refactor some logic in GT_IND morphing.
This change separates the logic that morphs child trees that reference
lclVars in preparation to use them as the result of a GT_IND fold from
the logic that sets the flags on the result of the fold. This also
standardizes GT_IND morphing on using the `typ` local to refer to the
type of the tree being morphed (rather than a mix of `typ` and
`tree->TypeGet()`).
Commit migrated from https://github.com/dotnet/coreclr/commit/
39cb6bb082430bcec17ba061e0cc9f62972b8029