LCool Runtime: Add some comments and an optimization to alloc_string
Completely redesigned program_structure add cool_program

- All class named have changed
- Classes do not try to parse the AST, they only do LLVM bits now