WIP first pass translate of functions.
Adding tests for function translation
Merge remote-tracking branch 'origin/master' into functions

Conflicts:
	compiler/translate.ml
rename formals to args
Default values pass scanner and first pass SAST translate
WIP: Fixed somethings from PR comments and started second pass of semantic checking.
Almost done with second pass

need to add return type checking and arg list order checking for default valuse being last
Second pass of functions working, more tests needed

Multiple return types not yet implemented and return type checking.
Added more tests
format of one test...
parsing multi returns and fixing more PR issues
Return type checking and added a few more tests and commented
Added checking for returns, null default exprs.

I cleaned up the parse a bit along the way and added a nullxpr to the AST
Also added a HardNullExpr to the Sast to differentiate int a from int a = null.

Some other small fixes as well
Delete parser.output
rename is_null_xpr to is_not_default
Rename HardNullExpr to UntypedNullExpr
Refactor check for retrun
Merge branch 'functions' of https://github.com/rapid-lang/rapid into functions
Spelling
Spelling