The Python code does many round-trip calls to the Rust dirstatemap when copy
information needs to be dropped in setparents.
This may result in improved performance on commit, update and other such
commands, but was mostly done to drop the last use of set_dirstate_item.
See inline comments for an asterisk about performance, and see next patch for
why set_dirstate_item has to go.