Lots of work on cleaning up errors to get read_test to compile,  which
it does

it's been a while since I'm been able to do any real testing since I was
rewriting everything, so now I atleast have a chance to go back and test
all the changes I've made.
since I was last able to do testing I've:
      made the lexer reentrent
      addeded error handling and a new environment
      revamped unicode support
      changed almost every type
      and a whole bunch of other stuff.

Right now I can get up to a command line prompt, with the basic
environment initialized, but I get a segfault from the lexer when I try
to use it. So that's what I need to fix first.

I've also made some continued modifications/additions to unicode support
in my attempt to transition to using only utf8

The actual clean up work in this commit was all over the place, with
most of the work promably being in generating prims and initializing the
initial environment