Switch to standardized alignas() instead of the GCC attribute

The language extension sometimes requires a different position than the gcc attribute.
Remove base/max_alignof: New standard language/library does this.
Switch to C++11 style attributes for __packed__