Made a couple of constants more consistent.

Also added a utility string function to "common.hpp" called "HasChar()" to replace the only use of (ASCII) "strchr" that wasn't entirely correct (maybe we need Unicode operator characters one day!)
Fixed a few warnings.

These were level-4 warnings (cannot generate assignment operator; potentially unsafe integer downcast) in my own code.
Created a skeleton for the parser and the AST hierarchy.

Each non-literal in our grammar needs a corresponding AST class (at least.) These all go into "ast.hpp" (and some into "ast_details.hpp".)

Also added a pair of empty files for the type system ("types.hpp" and "types.cpp".)

Updated the "CMakeLists.txt" file to include the new files and to set the warning level higher ("/W4" on MSVC and "-Wall" on GCC. TODO: Add clang support!