[Refactoring] Add non terminal symbol `FunctionContracts`
[Refactoring] Add non terminal symbol `FunctionLiteralBody` to separate grammar from normal functions
fix Issue 12741 - DMD accepts functions with contracts and no body

Support normal function declaration without body.
`UnitTest` cannot have contracts
Add code example for foreach over delegate.
Merge pull request #658 from quickfur/issue4954

Add code example for foreach over delegate.
Merge pull request #657 from 9rnsr/fix12741

Issue 12741 - DMD accepts functions with contracts and no body
Divide Decl into FuncDeclaration and VarDeclarations

FuncDeclarator is a dup of Declarator, and FuncDeclaratorSuffix is a dup of DeclaratorSuffix

And we need to keep function type aliasing with the old style syntax.
Remove FuncDeclaratorSuffixes to disallow multiple function declarations
Disallow mixing C-style suffix in function declaration
fix Issue 10235 - Grammar does not contain a rule for function declarations

Move FuncDeclaration and related non terminal symbols into function.dd
Reorder non terminal symbols in VarDeclaration
Divide Declarator and AltDeclarator to separate C-style syntax
Remove C-style syntax from regular Declaration grammar
Now Declarator2 is equivalent with AltDeclarator
Disallow optional template parameters with C-style syntax
Remove Decl
Add AutoFuncDeclaration

It's surprising that didn't exist.
Reorder Type, TypeCtors, and TypeCtor