Make the following changes to PredefinedExpr:
- Move PredefinedExpr below StringLiteral so that it can use its definition.
- Rename IdentType to IdentKind to be more in line with clang's conventions.
- Move the location and the IdentKind into the newly available space of the bit-fields of Stmt.
- Only store the function name when needed. When parsing all of Boost, of the 1357 PredefinedExpr 919 have no function name.
"always" would be clearer than "in fact".