Tweak grammar (3) - Bug fixes

- Fix `AliasThisDeclaration` grammar, supply tail semicolon.

- If `TemplateParameters` does not exist, `Constraint` must not appear.

- `StorageClass` and `Attribute` should be mostly same list
  `Attribute` should contain `pure` and `nothrow`

- Add missing `MemberFunctionAttributes`opt
  TODO: Currently (shared) static constructor cannot have postfix attributes.

- Add missing grammar for opaque class and interface

- Add Anon(Struct|Union)Declaration

- Fix `IfCondition`
fix Issue 10206 - User-defined attributes not documented well in language specification