Initial implementation of the baseContext rule option
Add error 165 RULE_WITH_TOO_FEW_ALT_LABELS_GROUP

* Restore error 122 (RULE_WITH_TOO_FEW_ALT_LABELS) to its original meaning
* Only emit error 165 if error 122 did not apply to any rule with the same base context
Add error 166 BASE_CONTEXT_MUST_BE_RULE_NAME
Add error 167 BASE_CONTEXT_CANNOT_BE_TRANSITIVE
Add error 168 LEXER_RULE_CANNOT_HAVE_BASE_CONTEXT
Add tests for the new errors used by the baseContext rule option
Merge branch 'base-context' into optimized