Differentiation between different numerical types preserved. "1.0" will not be interpreted as an Int, etc.
Started on a code emitter.
This code emitter emits *very* inefficient code, but it expects its user to run llvm's "opt" command to do all of the optimizations on the code.
Lots of changes!

Removed large_integer (Number) type.
Removed gc-unmanaged memory distinction -- going down the GC-only route.
Method calls now search down the variable scope for any callback.
Method definitions are aliases for definitions of global variables with lambda type.
Removed all of my code-emitting phase, will redo when all of these language changes are finished with.
Added some of "C-types": signed 8, 16, and 64-byte integers.
Added class methods, which are basically lambdas of the form "return_type:(SELF_TYPE, params...)"
    which would be called like such: object:method(object, params...),
    which almost always can be shorted to: object::method(params...).