Adds assembler support for RVC HINT instructions.
The hint instructions are enabled by default (if the standard C extension is enabled). To disable them pass -mattr=-rvc-hints. This "enabled by default" behavior was achieved by adding the FeatureRVCHints to the RV32/RV64 ProcessorModels. Setting the RISCVSubtarget member flags default value to true doesn't work for all tool flows (e.g. using llvm-mc for a .s -> .o).
The (non-hint) C_NOP definition now has a let Inst{6-2} = 0. That's necessary to ensure that e.g. c.addi x0, 7 would not be decoded as a plain c.nop.
The (non-hint) C_ADDI_NOP instruction is also added by this patch, since it fits the overall theme of the patch. That instruction definition is necessary to add support for writing a c.nop in its extended form of c.addi x0, 0.
We could remove "let isAsmParserOnly = 1" and add "let Inst{11} = 0". So tablegen won't complain the encoding ambiguous and will invoke DecodeGPRX0RegisterClass in RISCVGenDisassemblerTables.inc.