use slang semantic
adds compile.ml
remove irrelavent stuff
cleans up some code. particularly records and List.fold_lefts
clarifies code in Block case of check_stmt function

this commit also removes a shit load of tabs but most of the work
is done on the A.Block case. also changes syntax for importing modules
to module A = Ast
changes sast float/int/bool types to string
changes SType to S.Type and other small syntax changes
removes global, local, function scopes and find functions
changes check_stmt func to be more inline with microc. NOTE: don't need to return the new environment! that's silly. just update the global env when valid else throw an error
removes env from return type of stmt function. there is no reason we need to do this since env is global
adds "CHUNKS" of work, ReturnStatment case changes, adds microc.semantic.ml for reference
moves microc.semantic.ml so make works
adds cases for literals and binop in expression checking of semantic checking
adds ArrayLit and MatrixLit cases to expr() semantic checking. adjusts other Lit types to return actual values