Improve assert expression documentation.

Improve assert docs on design-by-contract page too.

Improve wording based on comments.

Incorporate more suggestions from comments.

Reword per comments.

Copy-edit.

Use less ambiguous wording for version(assert) and -release.
Update based on comments.
Update assert docs according to reviewer comments.
Link to contract programming page from functions spec.

So that readers will understand what the in and out blocks are for.

Fixes: https://issues.dlang.org/show_bug.cgi?id=13328
[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.
Announce 2.066.1-rc2
fix Issue 10232 - AndExpression grammar is not correct
fix AndAndExpression grammar
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
fix Issue 13451 - Lambda syntax with explicit return type not documented
Merge pull request #654 from quickfur/issue13328

Link to contract programming page from functions spec.
Decompose 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.
fix Issue 12579 - DMD rejects valid function literal

Remove FuncDeclaratorSuffixes to disallow zero, two or more parameter lists

And disallow mixing C-style suffix in function declaration, as follows:

  void foo[](int a);
fix Issue 10235 - Grammar does not contain a rule for function declarations

Move FuncDeclaration and related non terminal symbols into function.dd

Conflicts:
	declaration.dd
	grammar.dd
fix Issue 13523 - Auto function declaration does not match any grammar rule