change the type of lexer_fun so it always succeeds

but may have LexErrorT tokens in its output
use lexer_fun for lex in the repl semantics
update stringASTTheory for new type of lexer_fun

I just wrap the output of lexer_fun in a SOME now.
However, I think the parser will also need to be updated in more detail
to deal with LexErrorTs...