Tweak "alias declaration" section
Merge Class(A|Dea)llocator and struct(A|Dea)llocator
Tweak `DeclDef` grammar
Merge (Struct|Class|Interface)Body to AggregateBody
Collect class, interface, struct, and union grammars into AggregateDeclaration

Add StructDeclaration and UnionDeclaration.
Add grammar for opaque class and interface declarations
Tweak "Aggregate Templates" section
Rename TemplatedConstructor to ConstructorTemplate

It's consistency with (aggregate|function) template declarations.
Sync `FunctionLiteral`
Sync `IfCondition`
Sync `Constructor` and `(Shared)?StaticDestructor`
Sync `DeclaratorSuffix`
Sync `StorageClass` and `Attribute`
Add sections for `nothrow`, `pure`, and `ref` attributes
Directly use keywords for attribute sections
Add link to "Grammar" page in sidebar
Merge pull request #489 from 9rnsr/grammar

Add new Grammar page in website