fix VS build:
- remove root\array.c from projects
- #include <alloca.h> for alloca()
- define strtold and strtof
move #include <alloca.h> into port.h
move #define strtof into port.h
Fix bug 10280 CTFE: Circular variable initializers should be detected properly

Use the existing 'inuse' mechanism to detect cycles.
Merge pull request #2102 from rainers/fix_vsbuild5

fix VS build
Fix bug 10283 ICE(interpret.c): passing struct with failed initializer to CTFE

If a struct literal contains an error field, it's an error.
fix Issue 8651 - Slice op Slice throws exceptions (not errors), and nothrow

Array ops should work in @safe pure nothrow code
fix Issue 7848 - pure and nothrow ignored on unittest blocks
Remove last case of optimize(WANTinterpret)
fix Issue 10289 - compiler should infer nothrow even if Error is thrown
Merge pull request #2144 from donc/ice10283ctfestructlit

10283: ICE in CTFE
[trivial] Remove stray comment.
[trivial] Fix name in comment rule.
Merge pull request #2147 from klickverbot/trivial-fixes

Trivial comment fixes
fix issue 9904 - typeof(null) can be casted to aggregate type if .sizeof
equals size of pointer
Merge pull request #2145 from 9rnsr/fix10289

Issue 10289 - compiler should infer nothrow even if Error is thrown
Merge pull request #2140 from donc/circinit10280

10280 CTFE: Circular variable initializers should be detected properly
Merge pull request #2141 from 9rnsr/fix8651

Issue 8651 - Slice op Slice throws exceptions (not errors), and nothrow
Merge pull request #2142 from 9rnsr/fix7848

Issue 7848 - pure and nothrow ignored on unittest blocks
Merge pull request #2148 from hpohl/9904

fix issue 9904 - typeof(null) can be casted to aggregate type if .sizeof equals size of pointer