[RISC-V] Fix dropping NaN sign and payload when importing float constants (#93285)
RISC-V float-to-double conversion canonicalizes the constant NaN value. Use soft conversion to double.
Since gtNewDconNode is used in quite a few places, the offending conversion is silent (float to double), and most programmers are unaware of NaN propagation issues on uncommon platforms like RISC-V, introduce factory functions dedicated to float and double that do the necessary conversions and make unintended upcasts more difficult.
Also fix printing NaN constants in dumps.