de-dupes mark two - persist uniqueTag

previously uniqueTag was not being persisted so we were getting duplication in some situations,
or were relying on the equality check; now we persist this, and we say something is apparently
equal even if it doesn't have the unique tag (and we transfer the tag across).

note that rebinded adjuncts are added *after* those done in the entity itself (via the rebind() call there);
this seems surprising, but should be okay as ideally we shouldn't be adding new adjuncts at all.
(but we might need some special logic in order to put in place "change my adjuncts on rebind" behaviour at an entity.)