restructuring some of peephole.sch to support concise descriptions of each instruction (possibly broken)
fix gcc warnings: specify mode in assembler open call, check return value of write in assembler, use sizeof(word) when reading in interpreter
use a word for heap offset in heap_check macro
fix compile-if routine. apparently, let bindings are evaluated in an unspecified order so some versions of guile were evaluating it as conditional, true case, false case, jump statements. This was causing problems.
fix define error in peephole.sch
removing some additional let statements with multiple side-effecting binders
cleaning up handling of eof, true, and false in peephole