Add flags to specify `@abi` behavior of attributes
This PR adds a set of DeclAttr.def flags for specifying how a given attribute interacts with `@abi`, and declares a behavior for each existing attribute. Future attributes will be *required* to declare an `@abi` behavior lest they fail a static assert.
Note that the behavior is not actually enforced in this commit—it is merely specified here.