Standardized align

Switch to the new C++11 standardized alignas(), alignof()

Side note: GCC doesn't currently implement [[noreturn]] which was also standardized in C++11. Once it does, we should switch to the new attribute syntax for that, which results in us dropping all but the __packed__ magic gcc attribute.