fix comment: original value IS kept on compound assignment
fix number parsing for decimal and scientific notations
shorten code for arithmetic type
add base class for operator token
use new token base class also for DirectiveToken
add new Keyword enum and token class
use new keyword token class

Remove the special token for the "class" keyword.
Parser: add ParseExpressionSequence() to parse non-enclosed expression lists
parse return keywords
update project files
fix parsing error after a function call
adjust return ET generation
fix: return without a value returns NULL
refactor ParseDefinitionBody() to a more generic ParseBlock()
ParseBlock() - what is after the block doesn't belong here
parse if/else constructs
support ET generation of if/else if /else constructs