Make guessing the target an info instead of a warning

Having this as a warning makes IDEs to go to the Makefile where the
warning was issued as if an error occurred, which is rather annoying for
something is really normal. An info is enough to let the user now how
the target was guessed.
fix Issue 9790 - Internal error when compiling a invalid variable in template

1. Remove gagging in VarDeclaration::semantic
2. Commit type in StructLiteralExp::castTo like as StringExp and NullExp
   It's necessary to avoid std.traits unittest breaking.
fix Issue 9818 - Constant folding for static array does not work with initializing by element

Refactoring code for initializer semantic.

- Handle implicit constructor call in ExpInitializer::semantic
- Add target type parameter in Initializer::toExpression.
  For `T[n] sa = e;`, its initializer translation to [e1, e2, ..., en] is delayed until it's really needed.
[Refactoring] Integrate code for making nested aggregate

- Move StructDeclaration::makeNested to AggregateDeclaration
- Change AggregateDeclaration::isnested to Dsymbol*
replace VolatileStatement with SynchronizedStatement
Merge pull request #1813 from 9rnsr/refactor_nested

[Refactoring] Integrate code for making nested aggregate
fix Issue 9837 - IFTI should consider enum base type
fix Issue 9834 - incorrect detection of lambda locality.
Merge pull request #1817 from 9rnsr/fix9834

[REG2.063] Issue 9834 - incorrect detection of lambda locality.
Merge pull request #1816 from 9rnsr/fix9837

Issue 9837 - IFTI should consider enum base type
Merge pull request #1797 from leandro-lucarella-sociomantic/cpu-warn-to-info

[trivial] Make guessing the target an info instead of a warning
Merge pull request #1801 from 9rnsr/fix9818

Issue 9818 - Constant folding for static array does not work with initializing by element
Merge pull request #1815 from WalterBright/removeVolatile

replace VolatileStatement with SynchronizedStatement