Add helper functions to query the signed and scaled properties
of ISD::IndexType along with functions to change them.
Remove setIndexType from MaskedGatherSDNode because it only has
one usage and typically should only be changed alongside its
index operand.
Minimise the direct use of the enum values to lay the groundwork
for more refactoring.
Depends On D123326
For symmetry is it worth having a getScaledIndexType too that returns SIGNED_SCALED or UNSIGNED_SCALED?