Description
FREEMARKER-63 has introduced TemplateFunctionModel, which is the type of values that #function creates. It should also replace TemplateMethodModel and TemplateMethodModelEx, so that we have only one interface for function-like things. (If that doesn't work out well, we at least should remove the deprecated TemplateMethodModel, and then rename TemplateMethodModelEx to that name. Also, we need to support the explicit selection overloaded Java methods - see in CallPlace).
As TemplateFunctionModel supports both positional and named parameters, the expression language has to be upgraded to support that too.
Things like `?isMethod` and `?isFunction` have to be reworked as well.