Improved readability of lexer and parser

Lexer : Using a Hashtable to identify reserved keywords and reserved
special characters instead of switch and if statements.
Parser : Using a new function 'bool isNext(TokenType)' that checks if
lookAhead's type is equal to the type given, instead of checking on it
manually in every function.