preserve path to object file in COFF library to avoid ambiguities
Fixes Issue 8922 - __traits(parent) should fail on top package import
isolate dmd from dt internals
Merge pull request #1511 from WalterBright/b16

isolate dmd from dt internals
Merge pull request #1504 from 9rnsr/refactor

[trivial] There is no 'final struct variable'.
Merge pull request #1505 from 9rnsr/refactor_tiargs

Refactor semanticTiargs() and fix Issue 9178 - UDA: getAttributes does not play well with tupleof
Merge pull request #1455 from AndrejMitrovic/Fix8922

Issue 8922 - __traits(parent) should fail on top package import
Merge pull request #1450 from 9rnsr/fix8631

Issue 8631 - illegal overrides accepted
Merge pull request #1315 from rainers/keep_mscoff_path_in_lib

preserve path to object file in COFF library to avoid ambiguities
refactor output file name generation
Merge pull request #1513 from WalterBright/b17

refactor output file name generation
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`.