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