LET expression - Ordered functions to match the c++ code.  Minor grammar ch...

...anges only.

Made this a subclass of FixedArityExpression.

Changing the order of the functions may help someone in the future when they diff the code against the c++.   But I am not sure it was helpful for us, now. ;-)
We croak if there are **more than 2 arguments.  Nice use of croak.