Instead of traversing inside the TraverseDecl() function.
Previously the attributes were traversed after Travese(Some)Decl
Logically attributes are properties of particular Decls and should be
traversed alongside other "child" nodes.
None of the tests relied on this behavior, hopefully this is an indication
that the change is relatively safe.
This change started with a discussion on cfe-dev, for details see: