IWYU: Fix handling of <memory> standard header
An old workaround for std::allocator_traits<>::value_type
lints from
IWYU on std::vector<>
usage breaks IWYU's handling of <memory>
.
Convert the workaround to use the same approach we already use for a
workaround of std::__decay_and_strip<>::::__type
lints. Then update
the <memory>
inclusions to follow the now-correct IWYU lints.