Add Packed attribute on Header structures

Structures that are used to cast packet data into fields need to be packed
so that the compiler doesn't add any padding to these fields.

This also helps Tile-Gx to avoid unaligned loads because the compiler will insert code to
handle the possible unaligned load.

Replaces PR 903 (remastered)