Fix unnecessary temp var in type<UDT>() expressions
ASSIGN(VAR, TYPEINI): Don't leave out the temp var if it has a ctor/dtor

astNewASSIGN() optimizes assignments of the form
	tempvar = TYPEINI
	VAR = tempvar
to just
	VAR = TYPEINI

it should not do that if the tempvar has a ctor or dtor though, because
those should not be ignored. And of course the tempvar is needed in order
to call the ctor/dtor.

Actually, if it has a ctor, it will be a CTORCALL node instead of a
TYPEINI, and the temp var will already be properly created.

This patch ensures that the same happens when there is only a dtor,
assuming that the user declared it for a reason and that it must be called.