Added MinGW Port implementation.

Currently a cleaned up version of the Posix one, but there
will be differences in long double handling.
MinGW: Fixed long double formatting.
Add strto{f, [l]d} to Port; fix strtold for MinGW.
add explanation for Pull 2164
Fix bug 10298 CTFE wrong code for struct array literal init

The elements in an array literal need to have constness
implicitly cast away when they are being slice assigned.
fix Issue 10326 - Change old `invariant` usage to error

deprecation -> error
fix Issue 10346 - No line number error with undefined template identifier
Revert "Merge pull request #2167 from AndrejMitrovic/Fix10341"

This reverts commit 384d833208c0b75de66c932fb2c78f70bdf6c902, reversing
changes made to af70ceb79ecae10a3b268886580cf3952fb21ab9.

-----

Currently auto-tester has random failures in Linux platform. From the circumstance, this change is the most doubtful. So I revert it conservatively.
Allow out-of-source testsuite builds.
Adapt -cov/-profile test to out-of-source builds.
Manually replace ${RESULTS_DIR} for Windows compatibility.
fix issue 10277 - Incorrect error file and line on redeclaration of
TypeInfo
Merge pull request #2167 from AndrejMitrovic/Fix10341

Issue 10341 - ICE on case-range statement without an associated switch statement

-----

I confirmed that the change was entirely unrelated to the auto-tester failures. So I re-merge this.
add explanation for Pull 2164
Merge pull request #2170 from WalterBright/explainPull2164

Explain pull 2164
fix Issue 10354 - DIP37: ICE with using indirectly imported template through package.d
Merge pull request #2174 from 9rnsr/fix10346

Issue 10346 - No line number error with undefined template identifier
Merge pull request #2177 from 9rnsr/fix10354

Issue 10354 - DIP37: ICE with using indirectly imported template through package.d
Merge pull request #2172 from donc/ctfe10298structarrayinit

10298 CTFE wrong code bug that Walter found
Clean up help text string and enable -m64 for windows