[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
Merge pull request #657 from 9rnsr/fix12741

Issue 12741 - DMD accepts functions with contracts and no body