Parse methods with mixed argument types

e.g.: regular args, args with default values and named procs

I think the parser was trying to parse "nil, &block" as part of a call expression,
since I can't find any other rules as part of the "expr" rule that this would
have triggered with the comma after the nil. I don't think that classes, methods,
modules, if, begin, yield, return, while, switch or rescue make sense as
possible values for an argument, but some of the other expr rules might, such as
range or assignment, or conditional assignment.