Make HashMap::take not corrupt the map. Fixes #19292

Was taking the value out correctly, but then not doing anything to actually fix the table. derp.