Basically a rebase of D104980; most of that patch had already happened
via gradual drive-by changes, but this finishes it up.
Don't touch the inclusions from <__functional_base>, <__hash_table>,
or <__locale>; those could be removed if we propagated the
inclusions up to the includers of those files, but there are lots
of those includers.
<algorithm>, <functional>, and <memory> already include <utility>
at the top level. <iterator> did not, so I've added it there.