Fix issue 8741 wrong code for struct member init using struct ctor

Generate an error if we need to decide if it is a ctor or not, when we
haven't determined the size yet.
fix Issue 9154 - Incorrectly generated assignment operator
fix Issue 9198 - Vararg functions don't respect IFTI rules
fix Issue 6905 - ref acts as auto ref when return type is missing
fix Issue 7252 - ICE(template.c): 'global.errors' on line 4893 in file 'template.c'
fix up for test/compilable/testfptr.d

The result of syntaxCopy should be re-semantic()-ed.
Add test cass for issue 3682
fix Issue 9208 - [ICE](func.c line 1205) with auto return in recursive function
Merge pull request #1375 from 9rnsr/fix9154

Issue 9154 - Incorrectly generated assignment operator
fix Issue 9213 - [2.061 beta] Member access without this and __traits(compiles, ...)
fix Issue 9177 - Wrong `alias func this` incorrectly reports error message
Stop warning in compilation
Enable unittest blocks in d_do_test.d
Refactoring by unifyNewLine() and unifyDirSep()
Improve unifyDirSep()
fix Issue 9210 - [2.061 beta] Import cycle causes unpredictable compile errors
fix Issue 8774 - 2.059 worked 2.060 does not: nested delegate memory corruption
Merge pull request #1412 from 9rnsr/fix9210

Issue 9210 - [2.061 beta] Import cycle causes unpredictable compile errors
Merge pull request #1411 from 9rnsr/fix9213

Issue 9213 - [2.061 beta] Member access without this and __traits(compiles, ...)
fix Issue 9230 - Incorrect implicit immutable conversion occurs in pure function

`hasMutableIndirectionParams()` is based on the old `TypeFunction::purityLevel()` (before fixing issue 8408). So its result is consistent with `TypeFunction::purityLevel() != PUREstrong` in 2.060. Then it *fixes* the regression.