Update Enum.min_max_by/3 spec after #10033 (#10049)
Update Enum.min_max_by/3 spec after #10033 (#10049)

#10033 added a third argument sorter_or_empty_fallback with a default value. To not break compatibility with existing code it also added a function clause that checks third argument's type with a guard and calls Enum.min_max_by/4 with appropriate arguments.

This commit fixes the following dialyzer warnings:

- In user code, e.g. `Enum.min_max_by([1, 2, 3], fn x -> x end, fn -> raise(Enum.EmptyError) end)`:
    The function call will not succeed.
    Enum.min_max_by([1, 2, 3], (_ -> any()), (() -> none()))
    will never return since it differs in arguments with
    positions 3rd from the success typing arguments:
    (any(), (_ -> any()), atom() | (_, _ -> boolean()))

- When running dialyzer on Elixir itself (erlang notation):
    Invalid type specification for function 'Elixir.Enum':min_max_by/3. The success typing is 
    (_, fun((_) -> any()), atom() | fun((_, _) -> boolean())) -> any()
kimshrier/elixir,kelvinst/elixir,joshprice/elixir,kelvinst/elixir,ggcampinho/elixir,ggcampinho/elixir,elixir-lang/elixir,pedrosnk/elixir,pedrosnk/elixir,michalmuskala/elixir,kimshrier/elixir