Inline statically known method errors. (#54972)
This replaces the `Expr(:call, ...)` with a call of a new builtin
`Core.throw_methoderror`
This is useful because it makes very clear if something is a static
method error or a plain dynamic dispatch that always errors.
Tools such as AllocCheck or juliac can notice that this is not a genuine
dynamic dispatch, and prevent it from becoming a false positive
compile-time error.
Dependent on https://github.com/JuliaLang/julia/pull/55705
---------
Co-authored-by: Cody Tapscott <topolarity@tapscott.me>