This patch replaces the addition of VK_RISCV_CALL in RISCVMCCodeEmitter by creating the RISCVMCExpr when tail/call are parsed, or in the codegen case when the callee symbols are created.
This required adding a new CallSymbol operand to allow only adding VK_RISCV_CALL to tail/call instructions.
This patch will allow further expansion of parsing and codegen to easily include PLT symbols which must generate the R_RISCV_CALL_PLT relocation.
I don't think we want to allow VK_RISCV_None, as expandFunctionCall won't add a VK_RISCV_CALL wrapper so we won't get an R_RISCV_CALL?