* fix enum classes entries without initializer
* docs
* update grammar to support scoped identifiers in case labels
* add support for enum class constants in case statements
* add ScopableName to ConstDeclaration; formatting fixes; tests
* update docs
Adds:
- analyzer/Constants: holds constant name -> value for lookup
- ast/ConstDeclaration: AST node for a const declaration
- optimizer/ConstValidator: validates that an optimized expression is valid to use as a constant.
the Optimizer converts Identifiers that refer to a constant to the optimized constant value.