More obvious separation between lexer and parser. Close #18

Adds support for comment tokens.
Each token returned by lexer has line numbers. (start and end)
Bug fix: "prop\nerty:value" now gives an error instead of a property "prop\nerty".

Signed-off-by: Vlad Velici <vlad.velici@gmail.com>