model.base: fix object identifier change + add tests
When changing the identifier (id_short
, semantic_id
, name
or type
) of
and object, all namespace sets of the respective namespace are checked
and updated. This may cause an error if the parent namespace has
namespace sets that aren't structured by the attribute that is updated,
causing an error in NamespaceSet.__contains__()
or
NamespaceSet.contains_id()
.
This is fixed by excepting such errors and returning False instead.