Add visit_attribute to Visitor, use it for unused_attribute

The lint was missing a *lot* of cases previously.