Properly push scope when checking lambda expressions (#8080)
Fixes #8079.
Previously function scope was pushed inconsistently in two branches of
`visit_lambda_expr()` (it was only pushed in the second branch by
`check_func_item()`). I believe there is still a small inconsistency, although
I wasn't able to trigger a corresponding crash, I added a TODO about this.