Infinite loop when saving an item in some cases.

If you saved  an item or folder without the 'lowerName' property, the provenance plugin could ask to load the old version, which would add the property and save the item, resulting in an infinite loop.

While working with the grits Health Map import script, I noticed that if there is no user (for instance, because of a python client), the provenance process would fail getting access to an item.  When there is no current user, fall back to the user associated with the object.
That makes it less obvious that the two conditions are mutually exclusive...  Would you accept changing the order?  That is
```
if key in prevSnapshot:
    <10 lines of code>
else:
    newData[key] = curSnapshot[key]
```