AbstractLexer class (next_token changed, undo_scan added).

Changed AbstractLexer#next_token method. Changed exception type in case
of empty input.
Added AbstractLexer#undo_scan method.
Added LexemePosition::at_start method.
Changed UndoScan#apply_to method. It now calls the undo_scan method
ofthe lexer.