Track single def locals in importer (dotnet/coreclr#21251)
* Defer setting lvSingleDef until lvaMarkLocalVars
Since this information isn't used early on in the jit, defer setting this bit
until later.
* Track single-def locals in the importer
and use this information to enable type updates during late devirtualization.
This gets some cases where the exact type materializes late (perhaps via a
chain of copies).
Commit migrated from https://github.com/dotnet/coreclr/commit/
40bf810b5cb83ba45008f9f8c12a4e3d46eb6832