Added higher order functions and scoping

HOF untested
Added function definitions
Fixed scoping issue
Added file executing and printing

Fixed more scoping issues
Modified printing
Added map operation and curry operation
Modified currying and printing

Currying notation now same as lambada notation
Added array indicies
Added System file, fixed scoping
Added auto-list-decomposition and length function

Automatic list decomposition can be avoided by setting numberOfArgs()
to 1 in a function.
Added function merging

Fixed lambda expressions with currying