+ - Fixed constant folding.
+ - Fixed column printing in diagnostics.
+ - Added support for columns in LNOF.
+ - Shadowed locals fix.
+ - Improved warning diagnostics for precedence usage and other
+ various diagnostics.
+ - Added constant folding logic for builtin functions.
+ - Prevent divide by zero in constant folding.
+ - Added unary elision optimization, cases where a unary expression
+ cancels itself out, e.g `-(-a)` now simplifies to `a`.
+ - Added strength reduce optimization, for divisions e.g `(A / 10)`
+ now strength reduces to `(A * (1 / 10)` where `(1 / 10)` is
+ evaluated at compile time.
+ - Added superfluous expression elision optimization, e.g `(A + 0),
+ (A - 0), (A * 1), (A / 1)` can be simplified to just `A`.
+ - Quake world now compiles with -std=qcc
+ - Constant folding for `if than` now works for ternary expressions
+ too.
+ - Fixed `[[alias]]` attribute type checking, now you can't alias
+ invalid types.
+ * QCVM:
+ - Properly exits on error now.
+ * Lexer:
+ - Now prints the character the lexer fails on instead of the
+ token value.