Fix putArgStk dstCount and ConsumeReg errors
The LastConsumedNode used in genCheckConsumeNode was not initialized for arm64.
Fixing this exposed several places where nodes were being consumed twice or in the wrong order.
In addition, since GT_PUTARG_STK doesn't define a register, its dstCount needs to be zero. This is enabled by checking IsValue() instead of type of TYP_VOID for the default case of TreeNodeInfoInit. This was missed for both arm and arm64.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3a44fd490bb83fb3c486cd9b90fe3934733f4a96