Add icode generation test cases

These can't be run yet.
Start implementing icode generation
Implement another icode test case
Continue work on icode
Generate icode for assignments and variable refs

Only locals are supported right now.
Generate icode for while statements
Generate icode for calls without args
Check that icode test case output looks valid
Generate icode for basic if/else
Support parentheses in icode gen
Support unary - in icode gen
Add icode gen for boolean 'and' and 'or'

Only bool operands are supported.
Add icode gen of boolean 'not'
Update comment
Add icode gen of function arguments
Update icode test case output format
Add icon gen of top level statements

Only top-level function calls are basically supported right now.
Start work on C generation
Add int bounds checks
Add placeholders for long int operations