This test was overfitting what it was trying to test, causing different
targets (and even different assert configurations) to fail to match.
Instead, make this an executable test and ensure that round-tripping
through setting and getting behaves as expected.
Fixes rdar://46486517
Turns out this isn't correct, since SROA can explode these structs into
scalars in inlinable code.
Put the logic in place to effectively disable it, and document the steps
we need to take to make it work in the future.
Instead of only printing through the pattern binding, and potentially missing stored properties with property observers, defer to the pattern binding for all stored properties, and print accessors if applicable while printing pattern bindings.