huuuuge initial (and mostly stable) state for the code generator
lets get some tests for that shit too..
clean up a lot of float register allocation crap which I can't use anyway
create a preamble system for loading and addressing both constants and
symbols. It'll work great for referenced symbols, not sure how it'll
behave for arrays yet.
update sizes for naive x86-64 machines
deal with float->int with a macro by emitting "round" function calls
add genprogn and genaref
patch genprogn to conform to the genarith standard
implement genif, genconditional and genitof
*sigh* everything implemented, but entirely untested. added entry point fn, gencode.
define the x86-64 registers for ease of use
add an a string generator, patch some symbol errors
patch to use the string installer
patch to enable function call generation
Merge branch 'develop' into feature/naive-code-gen
multiple changes

- make registers symbols for possible future peephole optimization
- rework code emission for char count via [] over (list)
- add new format-code macro to clean up (format) repetitions
- add (ir->code) which behaves how (gencode) should
- document that (gencode) doesn't behave as one would expect
- make (+ "st(0)" %*) (assert false) for debugging
several changes

- bugfix where float operations would not generate left and right
  sided expression parts, rather assuming that they were on the stack.
- rework all asm expressions to yield a standard vector-like format
  expression suitable for generating both formatted .S code and for
  machine analysis in a peephole optimizer or such.
Merge branch 'develop' into feature/naive-code-gen
add genitof, integrate it into genarith
update todo list