Enable type checking for attributes #80

@mtrberzi

Should this check if attributes are a subtype or equal?

Also, it seems like some types, such as NodeTypeValue, wouldn't make sense as
an Attribute.
Should the values in an Attribute be restricted to satisfy
isRuntimeKnowable() or isElaborationTimeKnowable()?