Issue 10055 - Incorrect attribute merging in dtor/postblit building

http://d.puremagic.com/issues/show_bug.cgi?id=10055

Implicitly generated destructors and postblits should have *weaken* attributes from field ones and explicitly defined ones.

Example:
```d
struct S1 {
    this(this) pure {}   // p1
    ~this() @safe {}     // d1
}
struct S2 {
    S1 s1;
    this(this) @safe {}  // p2
    ~this() nothrow {}   // d2
    // Compiler will generate __aggrPostblit and __aggrDtor
    // for the whole S2 copy construction and destruction.
    // __aggrPostblit should have weaken attributes of
    //    (p1 + p2) == impure throwable @system
    // __aggrDtor should have weaken attributes of
    //    (d1 + d2) == impure throwable @system
}
```