Add shebang and a makefile with a test target
redid a lot of lexer.lua