Fix inconsistent behavior in diffsets on remove/add combination.

Previously, remove+add would result in an item added, while add+remove
would result in no net changes. This fixes this inconsistency, leading to net
no changes in both cases.

This resolves two bugs in property and label changing, where one would remove
and add the same label or property multiple times in the same transaction.
Merge pull request #2751 from jakewins/2.1-diffset-correct

Fix inconsistent behavior in diffsets on remove/add combination.