__setitem__ invalidates old $unset if any in RecordingDict
add failing tests for correct addToSet behaviour, set/unset cleaning other modifiers
addToSet field name duplication checks finalized, tests pass