Unify attributes and macros to use `@` sigil, redux

A revised version of @pcwalton's RFC, incorporating a more precise description of conflicts and a description of feedback.

[Rendered view.](https://github.com/nikomatsakis/rfcs/blob/macros-and-attrs/active/0000-macro-attribute-syntax.md)
It seems to me though that even with that system, two different attributes can still interact strangely depending on order. 

For example, one item modifier might add an filed, and another might change a property of all fields (eg make them public). 

So in any case the order of attributes is important for both the user and the attribute impl to consider, which makes the internal distinction between them helpful, but not the full solution.

I think providing facilities to properly propagate all possible existing attributes down the expansion chain, and making applying them easy/the default to do would be the better option here, in which case merging the two cases would not be an issue.