Merge pull request #30 from quarklang/codegen

Codegen
Copies the skeleton from semantic. Getting started on codegen
Crude codegen skeleton. Compilable again
MatrixLit now contains a flattened list
Add gen_<C++ literals> to generator
Handle NoneType more properly in str_of_datatype
New: builtin.ml. Add builtin function support to S.FunctionCall
Add vararg support to print/print_line builtin functions
Rename all T.QReg to T.Qreg
Fully working pipeline that generates to output.cpp
Add _DEBUG switches to semantic.ml
Generate function decl
Add ArrayEmpty grammar. expr 'int[10]' gives an empty array of 10 zeros