This patch adds 'Type' field to HwMode class so that HwMode can be used for parameterization of different information independently.
Edit: It also changes the way how HwMode is determined and moves getHwMode(...) function to MCSubtargetInfo so it can be accessed from MC and Disassembler.
Motivation for this change is implementation of 'RegisterClassByHwMode' which should not be mutually exclusive with other implementations of *ByHwMode. This is first in a series of three patches.