Currently, specifying a feature string such as +fullfp16,-fp-armv8,+fp-armv8,+neon
leads to fullfp16 being disabled (transitively by -fp-armv8, and not re-enabled
by +fp-armv8).
It would be far more natural to make +fullfp16,-fp-armv8,+fp-armv8,+neon
equivalent to +fullfp16,+neon, matching the intuitive arithmetic and/or set-theory rules.
Note that this still doesn't make feature strings commutative:
e.g. +fullfp16,+fp-armv8,-fp-armv8,+neon would still disable fullfp16.
While there, this patch also changes SubtargetFeatures::ToggleFeature and
SubtargetFeatures::ApplyFeatureFlag to be static, so that MCSubtargetInfo
doesn't need to instantiate SubtargetFeatures for nothing.