Cleaner set item delete.

Whenever logically valid treat delete as complete removal of item
with it's relations
Fix var shadowing in update for relSetItem

In certain scenarios it caused add/delete events fired on wrong objects
On object delete remove also reverse references