TokenData.IntegerLiteral: Store String instead of Int

The lexer spec does not specify any maximum size
Document and test neglected unused operator
Fix tests
Finding: Add severity (warning/error) and message string
Phase: Make findings lazy and implement success on top of it
Token: Remove 'file' parameter

There's only one input file and the lexer shouldn't care about it,
anyway.
Implement the lexer via tries and mutually-recursive lex functions

Three keyword-related test cases still ignored
Lexer: recognize keywords
Add other whitespace tests
Merge pull request #31 from Kha/lexer

Implement the lexer