Improved expression parsing

Now parses function calls, array indexes, and proper order of operations
Redo expression parsing
Expressions now represented by classes