Add AttributeDefinition

(Represented by AttributeDeclaration in the RedHat AST)

CC #46.
Add tests for AttributeDefinition backend conversion
AttributeDeclaration backend test: fix name
Add Variance, InModifier, OutModifier

RedHat’s TypeVariance (no subtypes)

For #45.
Add tests for Variance, InModifier, OutModifier
compileModifier: support value modifiers
Modifier backend test: Add valueModifier
Add TypeArgument for #45

(Not yet actually used in TypeNameWithTypeArguments)
Change TypeArguments from [Type+] to [TypeArgument+]

for #45.
Add test for use-site variance

CC #45.