Refactor register arg handling in TreeNodeInfoInit.
The handling for outgoing register arguments in TreeNodeInfoInitCall was
unnecessarily complex and difficult to follow. In particular, the processing
of FIELD_LIST arguments performed a fair amount of unnecessary work,
contained code to deal with impossible IR patterns, and did not share any
code for handling the component PUTARG_REG nodes with the normal PUTARG_REG
case. This changes resolves all three of these issues and fixes an ordering
issue in lowering that was causing PInvoke prologs to remain unlowered.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8fdca7af58ae0e84400f2c2ba79276a819566e1d