Issue 7727 - "static initializer" for non-static unions too

http://d.puremagic.com/issues/show_bug.cgi?id=7727

Today, struct field overlapping is processed in many places independently. This PR tries to merge some of them.
This change contains non-trivial refactoring around glue layer and small CTFE-engine fix.

---
During debugging, I found a related [bug 11151](http://d.puremagic.com/issues/show_bug.cgi?id=11151), and this PR will also fix it.