As RISC-V spec supports multiple extension version, refactor the SubtargetFeatures and RISCVISAInfo to support it.
RISCVISAInfo can parse arch string like -march with extension version, but related SubtargetFeatures don't contain version info in llvm side. For example, when enable 'm' extension with passing `-mattr=+m`, only a boolean flag to indicate that 'm' extension is enable. After this patch, '+m' would be default -mattr to represent default extension version. You can add new extension version by adding new SubtargetFeature like +m2p1.
Add 2 extensions "v0p7" and "zvlsseg0p7" to test the infra, although we may not support those 2 extensions.
It also handles arch string with version number of attribute section in obj file, including assemble and dis-assemble process.