Give MethodMatch its own type (#36702)
Every time I see any code dealing with the svecs we get back from
the method match code, I think that it shouldn't really be an svec:
1. It's always the same length
2. Basically every use of it typeasserts the field type
3. Every use of it needs the same magic numbers to access the fields.
All put together this should just be a type. This updates all
the uses accordingly, but adds fallback getindex/iterate defintions
for external users that expect this to be a SimpleVector (in
deprecated.jl - hopefully by 2.0 all external users will upgraded).