Add Identifier.copy method

It’s not very useful on the Identifier type, but the intention is that
all node types should have such a method which allows users to easily
“modify” the nodes (obtain a modified copy) using named arguments
without having to specify all parameters explicitly.
Add test for Identifier.copy