(maint) Remove unused scope from closure call_by_name

The big removal of 3x parser/ast missed to remove the unused scope
that was present in Closure#call_by_name. This PR is a follow up on PUP-3274.

This commit removes the unused scope, and corrects a typo in code that
supports use cases not yet merged to master (if invoked would cause a
hard stop on undefined variable 'scope').

The documentation comment is also updated to reflect that scope is no longer given in the API.
This has to do with the ephemeral "match scopes" and local scopes since they are a state in a named scope. The 3x runtime does not have the notion of a "stable closure scope", thus it is only safe to call a closure in the very same place as it was defined, since only then is it guaranteed that the scope that the closure holds on to has the expected state. Is a variation of that better?