CScopedAccessLevelDefinition

AccessLevelDefinition type HACK! This is convoluted, but attributes need to be [CClass](API\Runtime\VerseCompiler\CClass) types because the semantic attribute processing demands it right now HACK! [CClass](API\Runtime\VerseCompiler\CClass) expects its associated definition to be a [CClassDefinition](API\Runtime\VerseCompiler\CClassDefinition) type, so our [CScopedAccessLevelDefinition](API\Runtime\VerseCompiler\CScopedAccessLevelDefinition) also needs to be a [CClassDefinition](API\Runtime\VerseCompiler\CClassDefinition) type HACK! Ordinarily, we could just use [CClassDefinition](API\Runtime\VerseCompiler\CClassDefinition) directly without this extra child type, except the [CClassDefinition](API\Runtime\VerseCompiler\CClassDefinition) linkage to the AST demands HACK! that the CExpr* type be [CExprClassDefinition](API\Runtime\VerseCompiler\CExprClassDefinition) even though it ultimately relaxes to [CExpressionBase](API\Runtime\VerseCompiler\CExpressionBase).