Move error-related stuff into its own file and merge with color
Do not rely on implicit conversion of int to bool
Merge pull request #3953 from yebblies/impbool

[DDMD] Do not rely on implicit conversion of int to bool
Merge pull request #3931 from yebblies/errors

[refactor] Move error-related stuff into its own file and merge with color
Add TemplateInstance::tnext to construct instantiation dependency graph

To detect speculative instantiations in codegen phase, `tnext` is neccesary for the `test6()` case `runnable/link13350.d`. That's a big difference from the PR #2550.
Skip TypeInfo code generation of non-root user types
Support -allinst for old TypeInfo generation strategy