removed some mess 'def' now does job of struct_def
renaming files. 'semantics' implements language middle -semantics (was 'compiler.cpp'). 'codegen.cpp'/'codegen.h' is the current/original backend; 'compile.cpp' is ast specific compile methods. So, 'the back end' is compile+codegen.