This adds support for static_assert() (and _Static_assert()) in @interface/@implementation ivar lists and in @interface method declarations.
It was already supported in @implementation blocks outside of the ivar lists.
The assert AST nodes are added at file scoped, matching where other (non-Objective-C) declarations at @interface / @implementation level go (cf allTUVariables).
Also add a __has_feature(objc_c_static_assert) that's true in C11 (and __has_extension(objc_c_static_assert) that's always true) and __has_feature(objc_cxx_static_assert) that's true in C++11 modeafter this patch, so it's possible to check if this is supported.
We should only claim _Static_assert is a feature in languages where its actually a formal language feature (C11), you can also use EXTENSION to indicate what languages we accept it in (see the comment in the file header).