Fix NodeObject.save to properly remove elements from node

When an element got removed from the role, we also need to remove the
element from the node when saving it.

Chef::Mixin::DeepMerge::deep_merge is not removing any element, it's
just adding/replacing. So we need to have an old copy of the role
attributes after the last save, to be able to identify the removed
elements, and remove them from the node elements.

Note that there's a knockout_prefix option in
Chef::Mixin::DeepMerge::deep_merge that we could use, but it doesn't
really remove the element (it gives it an empty value) and it's gone in
chef 11.