set `max_methods = 4` for `merge` (#51443)
This enhances type/effects inference for calls of the `merge` function,
especially when input types are known only as abstract `NamedTuple`.
While we improved inference for the fallback `merge` path in
JuliaLang/julia#48262, the enhancements have not been available to
general cases as inference gives up attempts when there are ≥4 matching
methods. This commit fixes it up.