Work on hand written lexer and on writing a better interface for
interning symbols

My current interface for interning symbols was written with assuming I
was using flex, now that I'm writing my own lexer that needs to change