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 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 VERSION file tracking the current version
Merge pull request #1429 from andralex/master

Add VERSION file
Merge pull request #1157 from donc/wrongcode8741struct_ctor

8741 wrong code for struct member inititalited using struct ctor
Merge pull request #1404 from 9rnsr/fix7252

Issue 7252 - ICE(template.c): 'global.errors' on line 4893 in file 'template.c'
Remove old rvalue-ref completely
Remove current auto ref with template function
Implement `auto ref` that can receive both lvalue and rvalue, even if the function is template or not.

For rvalue argument, compiler will assign it to a temporary variable, and get its reference.

Then opEquals in struct should have the signature:
`bool opEquals(const auto ref typeof(this) rhs) const;`
instead of:
`bool opEquals(const ref typeof(this) rhs) const;`

For the mangling, `auto ref` is encoded to `KK`.
new autoref