Modified object layout such that every class has 1 vtable at maximum, instead of one for each interface.
Also included part of the initial code for GC generation, but it's currently not being executed.
- Removed the stupid twotothepowerofthirtyone constant for doing negation of floating points.
  Instead the constant is now only generated when it's actually needed.
- Implemented the first iteration of a working garbage collector using Cheney copying.
- Rewrote library functionality in C (Actually in C++, but no C++ features were used to keep the generated code simple)
Very low level bug fixes for GC'ing class objects. Still need GC'ing for other types that generate heap objects
Now correctly uses cdq instruction and not cltd instruction for integer division (cltd is the AT&T version of cdq)
Closure environments are now garbage collected.
resolving conflict