Refactor struct initializers codegen.

This not only reduces code duplication, but the unification
also enables code a la StructLiteralExp to handle classes
(for CTFE class constant support in 2.063).
Add some no-op virtual destructors to silence GCC warning.
Remove dead declaration.