Move long alignment to end of all elements, instead of extension boundaries.
Move long alignment to end of all elements, instead of extension boundaries.

Forcing alignment at the *beginning* of a boundary could theoretically create
problems on big-endian RISC architectures, wherein the compiler could choose to
put a trailing unaligned member at the *end* of the alignment padding, as that
would be more efficient. By inserting the alignment at the end of all
structures, we at least get consistent effects and thus handle this case
correctly.

The way we do extension is still not, strictly speaking, guaranteed to work,
but it should on any reasonable compiler.

AltSysrq/astrocol