Do not try to guess exact initializer type.

This might have been required with the old (pre-3.0) LLVM
type system, but the module linker handles global type
resolution just fine now.

Also, it is virtually impossible to determine the type in
advance for some cases, e.g. an array of unions with an
initializer that contains pointers to the array itself.
Get rid of now-obsolete DtoConstInitializerType.
VarExp::toElem refactoring and global size assertion.

Frontend errors shouldn't be used for glue layer consistency
checks – maybe the error was actually hit in ancient versions.
Check initializer type size in IrStruct::getDefaultInit().