Simplified parser and scanner tests and improved failure messages

Changed to True/False assert methods in order to add custom messages.
The custom messages identifies on which event or token the failure happened.
Put properties and methods that hides overhead code (e.g. new keywords) in helper classes.
Made use of FluentAssertions in the parser and scanner tests