Support match lambda expression (function keyword)

Quite straightforward... I didn't added a lot of tests as it's the same algorithm basically.
I renamed a lot of variables so that it becomes less ambiguous. (``MatchExpr`` vs ``MatchLambdaExpr``), borrowed from FSharp.Compiler.Service.