Return a dictionary containing every attribute of the given class.
This dictionary is very similar to __dict__, except that it also
includes attributes that have annotations but not values. Such attributes
are assigned the sentinel value ANNOTATED_ATTR.