Fixes a bug when detecting changes on a null value

If the new value was equal to `null`, it was then always registered
as a `Removal` instead of possibly a `Addition` or `Modification`...
or not a change (in the case that the old value was also `null`).

This is due to the fact that `isset($a)` returns false even if the
key is set but its value is `null`.
Merge branch 'develop'