hasContinue returns bool
hasBreak, usesEH returns bool
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 and merge D2 pull #532
fix Issue 9000 - ICE on assigning struct's  to enum
I love valgrind
fix Issue 8945 - Can't call static struct initializer or constructor without qualifier for templated inner struct
fix Issue 9008 - Another forward referencing bug
fix Issue 7220 - Bad initialization when using mixin to generate a static field in a -lib'rary
Merge branch 'master' of github.com:D-Programming-Language/dmd
fix Issue 8990 - Forward reference error on three structs
fix Issue 6969 - Forward reference on template class triangle
fix Issue 9013 - Compiler crash with foreach on wrongly defined interval
fix Issue 9003 - Nested structs smetimes have null context pointers in static struct
fix Issue 9006 - Static struct with nested struct fields sometimes has current context pointers in `init`
fix Issue 9004 - Wrong line number for undefined identifier error
fix another fwd ref bug
fix Issue 9008 - Another forward referencing bug
fix Issue 9010 - opEquals() const results in not-covered code
Merge pull request #1280 from 9rnsr/fix8990

Issue 6969 & 8990 - Forward reference error between three template instantiations