Update all the users of AlignedCharArrayUnion to stop peeking inside
(to look at buffer), and then finish gutting it. It's now an alias of
std::aligned_union_t, with a minor difference in template parameters
(std::aligned_union_t takes a minimum size and 0+ types, whereas this
just takes 1+ types... maybe a bit simpler to use correctly?).
A potential follow up would be to remove AlignedCharArrayUnion
entirely, inlining this alias into its users, but it's not clear to me
if that's better.
If https://reviews.llvm.org/D92500 lands without any issue, I think this should be safe as well.