Property getNode validation

- use array_diff instead of a comparison
- comparison was sometimes failing because numerical indexes were
  missing (e.g. when we remove a multi-value property during the
  session)
- we use the diff in the exception message to make it more explicit
- added test