Produces NodePropertyUpdates given all changed property records for node

instead of doing so per changed property record. This needs to be like
this since properties (PropertyBlock) can move from one record to another
and should be interpreted as a change. The issue that caused this change
was that such a move produced one ADD and one REMOVE update and if they
got executed in the order of ADD then REMOVE the index would end up not
having that entry in it.