Avoid indexing nodes twice.

Prior to this change it was possible to get two index entries in the case
when you both added the label and set the property in the same transaction,
but created the node in a previous transaction.
This would violate constraints (silently - making the db inconsistent), and
would cause the same node to be returned multiple times from an index lookup.

This is resolved by gathering a Set of updates to apply to the index, rather than a List.