cleaning up grammar

test plan: none
refactoring function arguments

test plan: none
function arguments now split into only unitExpressions

test plan: none
splitting parse and normalized syntax trees

test plan: none
normalize parse tree into a syntax tree

tries to turn compile time constants into such.
this obviously needs much work still--variables inside
such literals need to be dealt with still. Maybe the
macro phase will have to run interspersed with normalization
to allow compile time constants #myVar to become actual constants.

test plan: `make test`