Combine Environment, Produce, Term into one module, begin on letrec bindings (parsing works), fix bug where (if <something not a bool> e1 e2) would crash (the real fix is to implement simple typing, but that's a bit later :P)

Signed-off-by: Ricky Elrod <ricky@elrod.me>