- Needed a shift counter, rather than a read counter, as ::token was
lexing '-10d' into '-' and '-10d', which when evaluated is '--10d',
which yields 10d.
- Lexer now makes a speculative legacy dateformat parse whenever it encounters
a decimal digit. This assumes that rc.dateformat begins with a numeric date
element, which is a restriction, but not a big one.
- Implemented Lexer::word, which is just like ::token, but does not
understand dates, durations or operators.
- Implemented Lexer::split, which uses Lexer::word.
- Added unit tests.