Base implementation of the Keyword class
Add the `functions` module with the `StringToUpper` function
Lexer: Fix bug with the `CreateToken` function return value
cmake: Enable all warning and `-Werror` flag