DR1672, DR1813, DR1881, DR2120: Implement recent fixes to "standard layout" rules.
The new rules say that a standard-layout struct has its first non-static data member and all base classes at offset 0, and consider a class to not be standard-layout if that would result in multiple subobjects of a single type having the same address.
We separately track the results that the "standard-layout" computation would have produced strictly following the C++11 rules, because that is part of the ABI tail-padding-reuse decision for some targets.