The default UDF Method resolver. This resolver is used for resolving the UDF
method that is to be used for evaluation given the list of the argument
types. The getEvalMethod goes through all the evaluate methods and returns
the one that matches the argument signature or is the closest match. Closest
match is defined as the one that requires the least number of arguments to be
converted. In case more than one matches are found, the method throws an
ambiguous method exception.