renaming and commenting:
i renamed _userAttributesKeys to _attributesToUpdateKeys because this is what they are. the attribute in this list are updated by the function update noyhing eslse. i also renamed rdict as rest, for two reasons, first the python standars suggests to avoid types in names (unnecessary information) and 'r' was not telling anything. rest seems to be appropriate since it represent the rest of keywords from kwargs. I also add a second condition for printing debug info in update: the rest dict0 should not be empty, again would be too much info.