Allow target-specific attributes to share a spelling between different attributes via the ParseKind field. Attributes will be given a common parsed attribute identifier (the AttributeList::AT_* enum), but retain distinct Attr subclasses.

This new functionality is used to implement the ARM and MSP430 interrupt attribute.

Patch reviewed by Richard Smith over IRC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197343 91177308-0d34-0410-b5e6-96231b3b80d8