Move lambda bodies to methods on their owning class

This PR makes the bodies of lambdas ordinary inner methods, which
then get lifted to top level methods by LambdaLift. The anonymous
FunctionN class for the lambda now has a simple apply method that
delegates to the new method. A -Y flag is added to disable this
change.