Fix two bugs revealed during internal testing.
- gtNewTempAssign was unnecessarily creating a new node to represent the
value being assigned to a temp if the value was a normalize-on-load
lclVar. This caused problems when using `gtNewTempAssign` as part of
`LIR::Use::ReplaceWithLclVar`, which assumes that `gtNewTempAssign`
only creates a single node (the new `st.lclVar` node). Instead of
creating a new lclVar node, simply change the type of the existing
node.
- LowerSignedDivOrMod contained an unnecessarily strong assertion. This
assertion has been removed.
Commit migrated from https://github.com/dotnet/coreclr/commit/
aab69a3bb42398384d60962f331158e1e3e908c1