Fixes for nonVoidInit and isDeclaration

Distinguish between:
```
auto a = { return 1; }(); 
and
auto b = {1, 2, 3};
```
And fixes bug where:
```
this(a,b);
```
was treated as a constructor declaration.