use CC variable to compile strtold.c

- strtold is compiled w/o optimizations
Fixes Issue 7656, Fixes Issue 7715. Escape special characters in ddoc
d code.
fix Issue 8408 - Purity calculation should be improved
fix Issue 8238 - templates can create ghost fields
fix split usage in d_do_test.d

As mentioned in https://github.com/D-Programming-Language/phobos/pull/934#issuecomment-10282813

The *correct* behavior for `splitter(string, string)` is to create empty tokens when input is empty (or when there are trailing separators or whatnot).

My fix was creating a problem here, where a new empty token was being (correctly) generated:
http://d.puremagic.com/test-results/pull.ghtml?runid=368596&logid=7

`../src/dmd -m32 -Icompilable   -odtest_results/compilable -oftest_results/compilable/99bottles_0.o -c compilable/99bottles.d compilable/`

Anyways, the simple fix is to just use the simple string-dedicated `split(string)`, which does not produce empty tokens.
Fix calling of std.string.format
Make deprecations as warnings the default

Since wanting to have deprecations as warnings is probably what most
people wants, make it the default. Also rename -di to -dw and introduce
-de to get the old default behaviour of having deprecations as errors.
-d stays untouched for backwards compatibility and those crazy people
that doesn't even want to know about deprecated features.
fix Issue 9035 - Nested struct `init` is lvalue and can be modified
fix Issue 9036 - postblit is called for nested structs when assigning `init`
Revert "revert D2 pull #972" to re-merge #972

This reverts commit 7c370f71641c4408ddc9ebd5709e6e182e34ad2b.
fix VS2008 build
preserve path to object file in COFF library to avoid ambiguities
fix Issue 9070 - nothrow of constructer/destructor isn't correct
fix Issue 9069 - struct literals are treated as lvalues
fix Issue 9076 - Aliased template function and property resolution doesn't work
read sc.ini again after command line processing to get architecture
specific settings
swapped Environment32/Environment64
renamed "section" to "envsectionname", added comment
renamed parameter in declaration
sc.ini/dmd.conf: use DFLAGS from architecture specific environment block