Switch to standardized noreturn attribute
Use c++11 alignas/max_align_t instead of GCC non-standard attributes.
Remove DECLTYPE_AUTO

Replaced with either just auto return type deduction or decltype(auto)
Propogate the attributes in <base/layout.h> around the codebase

They are trivial / simple replacement macros, so just use them directly
Move to std::make_unique