Fix aligned/packed C attributes and enum/enumerator underlying types
Use alignment from the __aligned__
GNU C attribute.
__packed__
can influence both alignment inside
struct
/union
and enum
's underlying type.
Fix enums' vs. enumerators' underlying types according to C11 §6.7.2.2 (2,3,4) and GCC/Clang implementation.
Closes #18 (closed)