Add visit_attribute to Visitor, use it for unused_attribute

The lint was missing a *lot* of cases previously.
Actually no, it just defines it again. I'll get rid of it.