Note: the intent of the original modification (and these updates) is not to
change how new_id() functions. What has been done is to pull out the code
which calculates a new name for an ID in the case of duplicate, as would
happen when you copy any datablock, into a separate function. This code is
necessary in the new Python Library module, since it otherwise is extremely
difficult to locate a new datablock appended from a library. new_id() calls
this separate function to generate a name for the new ID if necessary, just
as it previously did.
To make the purpose of this new function clearer, I renamed it
check_for_dupid() and added more extensive comments. I repeat, it's not
meant to be a substitute for new_id().