Committing code generator and small modification to Main.miml
Code generator now takes arguments, has working output class, error reporter
and argument checker with mode states.