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.
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
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
Merge pull request #2160 from 9rnsr/fix10326

Issue 10326 - Change old `invariant` usage to error
Add assert to detect missing EXP_CANT_INTERPERT initialization.

It is rather difficult to debug, as the pointer is never
actually dereferenced.
Merge pull request #2184 from klickverbot/interpret-errorexp-assert

Add assert to detect missing EXP_CANT_INTERPERT initialization.
Merge pull request #2086 from klickverbot/port-mingw

MinGW support in Port
Merge branch 'master' of github.com:D-Programming-Language/dmd