This method shadows the C++ method, and doesn't properly handle updating
the duplicated object's KIID to be unique.
Also add tests to ensure the KIIDs are unique after duplication.
Fixes https://gitlab.com/kicad/code/kicad/issues/14460
(Cherry-picked from 5d0b5e16ff)